npx和npm exec的区别

当通过npx运行时,所有标志(flag)和选项(option)都必须在任何位置参数之前设置。

//注意--与<pkg>之间的空格
//[args...]是位置参数
npx -- <pkg>[@<version>] [args...]
npx --package=<pkg>[@<version>] -- <cmd> [args...]
npx -c '<cmd> [args...]'
npx --package=foo -c '<cmd> [args...]'
//先解析foo@latest包
$ npx foo@latest bar --package=@npmcli/foo
$ foo bar --package=@npmcli/foo

当通过npm exec运行时,可以使用双连字符标志(--)来抑制 npm 对应发送到执行命令的开关(switch)和选项(option)的解析。

npm exec -- <pkg>[@<version>] [args...]
npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
npm exec -c '<cmd> [args...]'
npm exec --package=foo -c '<cmd> [args...]'
//先解析--package选项内的@npmcli/foo包
$ npm exec foo@latest bar --package=@npmcli/foo
$ foo@latest bar

建议使用双连字符(--)明确告诉 npm 停止分析命令行选项(option)和开关(switch)。因此,以下命令等效于上述npx命令:

$ npm exec -- foo@latest bar --package=@npmcli/foo

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

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

相关推荐

  • JavaScript语言的setTimeout()函数

    function function 指在 delay 毫秒之后待推到消息队列的回调函数。 delay delay 指延迟的毫秒数 (1秒等于1000毫秒),如果省略该参数,则 delay 为默认值0。 如果消息队列有其它消息,setTimeout 消息必须等待其它消息处理完。因此 delay 参数仅仅表示最少延迟时间,…

    JavaScript经验 2022年1月23日
    02970
  • JavaScript对象的可计算属性名

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

    JavaScript经验 2021年11月17日
    04970
  • JavaScript中script元素的位置

    过去,所有<script>都放在<head>标签内,如下所示: 这样做的目的是把外部的 CSS 和 JavaScript 文件都集中放在一起,缺点就是,必须把所有的 JavaScript 的文件都下载、解析和解释执行完成后,才能渲染<body>页面,这会导致页面渲染明显延迟,为了解决…

    JavaScript经验 2020年10月7日
    07680

发表回复

登录后才能评论