阅读 470

[译]npm技巧

原文链接

日常使用npm时候的一些小技巧,值得学习

重复build

🚫:即使采用cli安装,你安装依赖的版本可能不同于别的同学

✅:因为在package.json中版本号一般是通过^符号,使用--save-exact,会安装package.json中指定版本

$ npm install --save-exact aDependency
# Shorter:
$ npm i -E aDependency
复制代码

更好的方法是配置下$ npm config set save-exact true

安装包

🚫:使用npm 安装时会试图解析依赖,因为在依赖中声明的范围不是你自己编写的,所以可能会导致在本地安装不同版本。然后即使未曾操作,也会自动更新package-lock.json文件。

✅:使用npm ci,其优势:

  • 快速
  • 避免更新package-lock.json文件

全局包

🚫:污染全局包下的node_modules文件

✅:npx会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装

安全性

🚫:发现某些包具有安全漏洞(比如之前很出名的npm包被注入挖矿代码的事件)

✅:npm auditnpm audit fix,自从npm6之后采用npm install时候会自动执行npm audit命令,如果出现问题会自动停止。 另一种解决方式使用github和gitlab内置的服务

更新包

🚫:更新某个包后,会出问题

✅:有以下两种不同解决方法:

  1. 采用updtrnpm包,会更新某个库,然后跑测试,如果测试成功后,会更新版本,否则就回滚到之前版本
  2. 采用npm-check包会展示过期的包 npx npm-check -u cloud.githubusercontent.com/assets/5150…

工具中当前node版本

🚫:当配置js和ts,node的path是依赖于版本的

✅:如果使用nvm管理node版本,nvm会管理一个链接到当前版本。配置如下后,当切换node版本后,会重新创建链接

# Put this in your .bashrc/.zshrc
$ export NVM_SYMLINK_CURRENT=true
复制代码

跟随github上版本

🚫:无法实时更新github上包的新版本

✅:GitPunch会定制你想追踪的npm包库,还可以定时发邮件通知

关注下面的标签,发现更多相似文章
评论