We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
题外话,今天发生了一件神奇的事情,执行 npm i 后,报了一堆错误,最后 node_modules 目录下只有一个 .staging 目录,里面都是类似 .staging/lodash.set-8c2829bc 这种东东。 各种查找,被虐,最后重装 node 后忽然就好了,太邪乎,无法相信,晚上换了一台电脑,又出现了。应该并不是配置或 node 的问题,这次老实了,认真的去看别人的踩坑记,居然还有内存不足导致的!!!,当然目测网络不好或什么导致依赖包一时半会儿下不来,就一直处于 .staging 状态,可以试试 yarn 或淘宝镜像。
题外话,今天发生了一件神奇的事情,执行 npm i 后,报了一堆错误,最后 node_modules 目录下只有一个 .staging 目录,里面都是类似 .staging/lodash.set-8c2829bc 这种东东。
npm i
node_modules
.staging
.staging/lodash.set-8c2829bc
各种查找,被虐,最后重装 node 后忽然就好了,太邪乎,无法相信,晚上换了一台电脑,又出现了。应该并不是配置或 node 的问题,这次老实了,认真的去看别人的踩坑记,居然还有内存不足导致的!!!,当然目测网络不好或什么导致依赖包一时半会儿下不来,就一直处于 .staging 状态,可以试试 yarn 或淘宝镜像。
yarn
npm ls --depth=0,0 指定树深度,去了解更多。
npm ls --depth=0
0
# 安装工具 depcheck npm install -g depcheck # 使用,参考 https://www.npmjs.com/package/depcheck depcheck [directory] [arguments]
你可能会惊讶于居然依赖了好几个无用包。
issue 解决率,社区使用率(npm-stat),版本发布间隔等。
npm-stat
比如 npm view sequelize 你会得到类似这样的信息:
npm view sequelize
[email protected] | MIT | deps: 17 | versions: 368 Multi dialect ORM for Node.JS https://github.com/sequelize/sequelize#readme keywords: mysql, sqlite, postgresql, postgres, mssql, orm, nodejs, object relational mapper dist .tarball https://registry.npmjs.org/sequelize/-/sequelize-4.38.0.tgz .shasum: 330c1aa445d4e46b80a97d895603c01666cdc357 .integrity: sha512-ZCcV2HuzU+03xunWgVeyXnPa/RYY5D2U/WUNpq+xF8VmDTLnSDsHl+pEwmiWrpZD7KdBqDczCeTgjToYyVzYQg== .unpackedSize: 857.2 kB dependencies: bluebird: ^3.5.0 moment: ^2.20.0 # more ... maintainers: - durango <[email protected]> # more ... dist-tags: latest: 4.38.0 next: 5.0.0-beta.9 published 3 weeks ago by sushantdhiman <[email protected]>
注意: 请及时上传 package-lock.json 文件,保证项目依赖版本一致,当然 yarn 了解一下。
package-lock.json
保持版本及时更新,查看项目依赖是否已经过时:
npm outdated # 你会得到类似下面的结果 Package Current Wanted Latest Location eslint 4.19.1 4.19.1 5.1.0 api-server
依赖关系更新有时包含破坏性更改。当显示需要更新时,请始终先查看其发行说明。并逐一更新依赖项,如果出现任何问题,可以使故障排除更容易。可以使用类似 npm-check-updates 这样的工具来解决这个问题。
利用工具Snyk 检测已知漏洞,它支持 github、gitlab 等很多项目关联,当然也可以本地使用:
npm install -g snyk cd ~/projects/myproj/ # 登陆 snyk 账号 snyk auth # 执行检测 snyk test #### 检测结果 Organisation: noname4me Package manager: npm Target file: package.json Open source: no Project path: /your/project/path ✓ Tested 134 dependencies for known vulnerabilities, no vulnerable paths found.
参考: https://github.com/elsewhencode/project-guidelines/blob/master/README-zh.md
The text was updated successfully, but these errors were encountered:
No branches or pull requests
几点关于 node 依赖包的规范吧
查看目前依赖包树结构
npm ls --depth=0
,0
指定树深度,去了解更多。查看无用(无关)依赖
引入什么样的包
issue 解决率,社区使用率(
npm-stat
),版本发布间隔等。比如
npm view sequelize
你会得到类似这样的信息:更新
注意: 请及时上传
package-lock.json
文件,保证项目依赖版本一致,当然yarn
了解一下。保持版本及时更新,查看项目依赖是否已经过时:
npm outdated # 你会得到类似下面的结果 Package Current Wanted Latest Location eslint 4.19.1 4.19.1 5.1.0 api-server
安全漏洞
利用工具Snyk 检测已知漏洞,它支持 github、gitlab 等很多项目关联,当然也可以本地使用:
参考: https://github.com/elsewhencode/project-guidelines/blob/master/README-zh.md
The text was updated successfully, but these errors were encountered: