跳转至

npm exec 命令

npm exec用来执行某个 npm 模块的内部命令,不管该模块在本地还是在远程。它有一个别名x,即npm exec等同于npm x

该命令与npx命令的作用类似,但是使用上有所不同。

npx会将所有参数原样传入模块内部。

$ npx foo@latest bar --param=@npmcli/foo
# 等同于
$ foo bar --param=@npmcli/foo

npm exec则需要使用--分隔符,指定所要执行的命令和它的参数。

$ npm exec -- foo@latest bar --param=@npmcli/foo
# 等同于
$ foo bar --param=@npmcli/foo

npm exec也可以用--package参数指定模块。

$ npm exec --package=foo -- bar --bar-argument
# 等同于
$ npx --package=foo bar --bar-argument

--call-c参数用来指定执行的整个命令。

$ npm exec -c 'eslint && say "hooray, lint passed"'
# 等同于
$ npx -c 'eslint && say "hooray, lint passed"'