npm和npx的区别

npm的m是Management,npx的x是eXecute。

npm是包管理工具,npx是包的命令执行工具,npx是npm exec命令的别名。

如果学习过ruby的同学,npx就等同于bundle exec命令。

默认情况下,npx是自动安装的,无需额外安装。如果没安装,运行下面命令

npm install -g npx

用途一

比如,项目安装了webpack

npm i -D webpack

一般来说,调用 webpack ,只能在项目脚本和 package.json 的scripts字段里面, 如果想在命令行下调用,必须像下面这样。

//需在项目的根目录下执行
node-modules/.bin/webpack --version

如果使用npx,像下面这样调用就行了。

npx webpack --version

npx执行<command>的原理是:会查找本地node_modules/.bin,或本地缓存,或$PATH,并执行它。如果<command>没有找到,它将在执行前安装。

用途二

比如,create-react-app这个模块是全局安装,npx 可以运行它,而且不进行全局安装。

npx create-react-app my-react-app

上面代码运行时,npx 将create-react-app下载到一个临时目录,使用以后再删除。所以,以后再次执行上面的命令,会重新下载create-react-app

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/jsexp/5448.html

发表评论

登录后才能评论