npx npm 区别

123 阅读1分钟

npm i -D grunt 等同于 npm install --save-dev grunt 依赖包将会写入到 package.json 中的 devDependencies 对象

npm i -S grunt 或者 npm i grunt 等同于 npm install --save grunt 依赖包将会写入到 package.json 中的 dependencies 对象

  • devDependencies用于本地环境开发时候。
  • dependencies用户发布环境

devDependencies是只会在开发环境下依赖的模块,生产环境不会被打入包内。通过NODE_ENV=developementNODE_ENV=production指定开发还是生产环境。

dependencies依赖的包不仅开发环境能使用,生产环境也能使用。其实这句话是重点,按照这个观念很容易决定安装模块时是使用--save还是--save-dev

npx侧重于执行命令的,执行某个模块命令。虽然会自动安装模块,但是重在执行某个命令

npm侧重于安装或者卸载某个模块的。重在安装,并不具备执行某个模块的功能

electron这个模块为例,基本背景是这样的:

当前项目test下,安装的是electron@8

同时,电脑里面全局安装的是electron@12

npx electron -v命令会显示什么样的版本号

  • 在项目根目录下面,执行npx electron -v,显示的node_modules/下的electron版本号。

  • 在其它路径下面,执行npx electron -v,显示的全局的electron版本号。

然后,卸载全局的electron。再次在非项目路径下,执行npx electron -v。显示的是最新的electron版本号。

npx 开关

npx --no-install

npx --ignore-existing

npx -p