1 npm参数等

备注:<=> 意为等价于;

1、npm install <=> npm i

  1. --save <=> -S
  2. --save-dev <=> -D
  3. npm run start <=> npm start // 对应"scripts"里的"start"命令
  4. 少敲几下键盘,何乐而不为

2、npm i —save-dev

  1. 工程构建(开发时、“打包”时)依赖 ;例:xxx-cli , less-loader , babel-loader...

3、npm i —save

  1. 项目(运行时、发布到生产环境时)依赖;例:antd , element,react...

4、对应关系如下(至于我们啥时候用—save、啥时候用—save-dev 感觉是个规范问题,用反了项目一样可以跑起来(对于安装依赖正确时),但会给其他看你项目的人带来误解、可能会导致一些bug的出现,还有一些配置的错乱等)

5、使用 npm i 安装package.json里的依赖时,两部分的包都会pull下来

  1. 5-1、使用 --prod
  2. npm i --prod <=> npm i --production // 仅会拉取dependencies中的依赖
  3. 5-2、设置NODE_DEV=production // 效果同上,仅会拉取dependencies中的依赖 (注意等号两边没空格)
  4. 5-2-1、命令行设置(注意不同环境时的"分割符"
  5. window => cmd set NODE_ENV=production && xxxx
  6. mac => shell : NODE_ENV=production 空格 xxxx
  7. 5-2-2package.json=>script命令中设置

彩蛋:在新建package.json文件时,我们可以使用npm init -y 快速创建(yes 表示一路默认创建,还有 -f 表示 force)

2 yarn对比npm

一、首先需要了解的命令

  1. `npm install` === `yarn` —— install 安装是默认行为。
  2. `npm install taco --save` === `yarn add taco` —— taco 包立即被保存到 package.json 中。
  3. `npm uninstall taco --save` === `yarn remove taco`

在 npm 中,可以使用 npm config set save true设置 — -save为默认行为,但这对多数开发者而言并非显而易见的。在 yarn 中,在package.json 中添加(add)和移除(remove)等行为是默认的。

  1. `npm install taco --save-dev` === `yarn add taco --dev`
  2. `npm update --save` === `yarn upgrade`

update(更新) vs upgrade(升级), 赞!upgrade 才是实际做的事!版本号提升时,发生的正是upgrade!

注意: npm update —save 在版本 3.11 中似乎有点问题。

  1. `npm install taco@latest --save` === `yarn add taco`
  2. `npm install taco --global`=== `yarn global add taco` —— 一如既往,请谨慎使用 global 标记。

二、已知悉的命令

包和 npm registry 上是一样的。大致而言,Yarn 只是一个新的安装工具,npm 结构和 registry 还是一样的。

  1. `npm init`=== `yarn init`
  2. `npm link`=== `yarn link`
  3. `npm outdated`=== `yarn outdated`
  4. `npm publish`=== `yarn publish`
  5. `npm run` === `yarn run`
  6. `npm cache clean`=== `yarn cache clean`
  7. `npm login`=== `yarn login`(logout 同理)
  8. `npm test`=== `yarn test`

三、Yarn 独有的命令

我跳过了一些提醒我们不要使用的内容,如 yarn clean

  1. `yarn licenses ls`—— 允许你检查依赖的许可信息。
  2. `yarn licenses generate`—— 自动创建依赖免责声明 license
  3. `yarn why taco` —— 检查为什么会安装 taco,详细列出依赖它的其他包(鸣谢 Olivier Combe)。
  4. Emojis
  5. [速度](https://yarnpkg.com/en/compare)
  6. 通过 yarn lockfile 自动实现 shrinkwrap 功能
  7. 以安全为中心的设计

四、Npm 独有的命令

  1. `npm xmas`=== NO EQUIVALENT
  2. `npm visnup` === NO EQUIVALENT

总结

在写这篇文章的时候发现, yarn的run 命令似乎出了点问题,应该会在0.15.2中修复。在这一点上, npm 好多了。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。