今天咱们来谈谈关于npm的全局安装的问题node
npm i webpack -g
默认安装地址:C:/Users/xxx/AppData/Roaming/npmwebpack
能够在命令行中直接执行webpack命令web
想要在命令行中执行命令有两种方式shell
其实在nodejs安装的时候,安装的过程当中它会默默地在用户变量的path中增长一个配置路径npm
在命令行中执行命令至关于执行对应路径下面的3中类型的文件webpack-dev-server
通常安装npm全局安装一些功能的时候,会生成.cmd文件ui
npm config set prefix “路径”
在node安装的文件夹中有一个文件夹spa
node_modules\npm
这个文件夹下面有一个文件命令行
npmrc
这个文件就是记录npm全局安装的路径3d
修改这个文件就能够更改npm的全局安装路径
注意点: npmrc中设置的路径必须和环境变量中的路径保持一致
咱们经常会使用npm run-script的方式来触发执行命令
配置文件以下
执行命令
npm run start
就会执行webpack-dev-server --inline --hot --quiet命令
既然执行的是webpack-dev-server命令,那么是否是意味着咱们必须在全局安装webpack-dev-server,不然如何生效的呢?
也许不少人都没有意识到这个问题,由于通常咱们在全局已经安装过了,因此不会发现任何问题。我专门删掉了全局的webpack-dev-server,而后执行这个命令,发现依然是可用的。那么是为何呢?
npm scripts 不是简简单单地执行 shell 语句而已,在执行以前它会将 node_modules/.bin/ 加入到环境变量 PATH 中,因此在 npm run-script 中能够直接使用那些存在于 node_modules/.bin/ 中的可执行文件。
咱们来看一下咱们本地项目中的node_modules/.bin/文件夹
正是因为npm背后的这一系列的操做才能保证咱们的命令可以正确执行,当npm scripts执行结束以后,会将路径从环境变量PATH中移除,因此咱们执行完命令去看Path属性不会存在node_modules/.bin/