npm exec和npx的区别

npm exec -- <pkg>[@<version>] [args...]
npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
npm exec -c '<cmd> [args...]'
npm exec --package=foo -c '<cmd> [args...]'
npx -- <pkg>[@<version>] [args...]
npx --package=<pkg>[@<version>] -- <cmd> [args...]
npx -c '<cmd> [args...]'
npx --package=foo -c '<cmd> [args...]'

从以上两者的使用方式上,我们很容易可以看出,npm exec 命令后面的内容与 npx 命令后面的内容相同,npx 就是 npm exec 的简写,但在解决包方面还是有一些区别的,如下所示:

npm exec

//先解决作为选项的@npmcli/foo包
//不解决作为位置参数的foo@latest包
//最后运行foo@latest bar(在--package=@npmcli/foo上下文)
$ npm exec foo@latest bar --package=@npmcli/foo

可以使用双连字符(--)标志(flag)来抑制作为选项的包的解决,以达到与 npx 一样的功能。

//以下命令等效于下述npx命令
//先解决作为位置参数的foo@latest包
//不解决作为选项的@npmcli/foo包
//最后运行foo bar --package=@npmcli/foo
$ npm exec -- foo@latest bar --package=@npmcli/foo

npx

//先解决作为位置参数的foo@latest包
//不解决作为选项的@npmcli/foo包
//最后运行foo bar --package=@npmcli/foo
$ npx foo@latest bar --package=@npmcli/foo

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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2021年7月10日
下一篇 2021年8月6日

相关推荐

  • 使用CSS的三种方式

    1.内联(Inline)方式 内联(Inline)方式,又称为行内方式。往往用于单个元素。 2.内部(Internal)方式 往往用于单个网页。 3.外部(External)方式 往往用于所有网页。 4.优先级 当同时存在多种使用 CSS 的方式时,如果为相同的选择器(元素)定义了相同的 CSS 属性名,则优先级如下:…

    JavaScript经验 2023年10月10日
    0870
  • nodejs -v与node -v的区别

    笔者在使用 Node.js 的时候发现有 nodejs -v 和 node -v 两个命令,经过一番测试后,总结如下: 如果从 Ubuntu 操作系统官方源里面安装的 Node.js,命令用 nodejs -v,例如: 如果从 Ubuntu 操作系统以外的第三方源(包括snap) 或者 通过 n、node-build、…

    JavaScript经验 2020年9月12日
    03.8K0
  • HTML文件路径

    绝对路径 描述 <img src=”https://www.example.com/picture.jpg”> 在 https://www.example.com/ 绝对路径下 相对路径 描述 <img src=”picture.jpg”> 在包含<img>元素的 HTML 文件的所在目录下 <…

    JavaScript经验 2023年10月11日
    01190

发表回复

登录后才能评论