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

//先解析--package@npmcli/foo选项
//再执行foo@latest bar
$ npm exec foo@latest bar --package=@npmcli/foo

可以使用双连字符(--)标志(flag)来抑制 npm 应该发送到执行命令的开关(switch)和选项(option)的解析。

//以下命令等效于下述npx命令
//先执行foo@latest bar
//再解析--package=@npmcli/foo选项
$ npm exec -- foo@latest bar --package=@npmcli/foo

npx

//先执行foo@latest bar
//再解析--package=@npmcli/foo选项
$ npx foo@latest bar --package=@npmcli/foo

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

(0)
上一篇 2021年7月10日 03:04
下一篇 2021年8月6日 12:59

相关推荐

发表回复

登录后才能评论