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/javascripte/5448.html

(0)
上一篇 2021年7月23日 23:29
下一篇 2021年8月1日 01:52

相关推荐

  • JavaScript函数或类的this关键字

    与其他语言相比,函数的 this 关键字在 JavaScript 中的表现略有不同。 在非严格模式下,总是指向一个对象,在严格模式下可以是任意值。 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定)。ES5 引入了 bind 方法来设置函数的…

    JavaScript经验 2021年11月16日
    02370
  • JavaScript对象的可计算属性名

    ECMAScript的对象的键往往是确定的,如果想要实现对象的键根据实际情况赋予不同的键的话,那就得用 可计算属性名 这个功能,把需要计算的表达式放在方括号[]里面。 在ECMA262-5(2009)里面的做法是: 从ECMA262-6(2015)开始添加了可计算属性名这个功能,这里这样做:

    JavaScript经验 2021年11月17日
    02660
  • node -v与nodejs -v的区别

    笔者在使用nodejs的时候发现有node -v和nodejs -v两个命令,经过一番测试后,基本总结如下: 如果从ubuntu系统以外的第三方源安装的nodejs,命令用node -v,例如: 如果从ubuntu系统官方的源里面安装的nodejs,命令用nodejs -v,例如:

    JavaScript经验 2020年9月12日
    02.6K0

发表评论

登录后才能评论