npm-run-script Run arbitrary package scripts

SYNOPSIS

npm run-script <command> [--silent] [-- <args>...]

alias: npm run

DESCRIPTION

这从包的"scripts"对象运行任意命令. 如果没有提供"command" ,它将列出可用的脚本. run[-script]由测试,启动,重新启动和停止命令使用,但也可以直接调用. 打印软件包中的脚本后,它们将分为生命周期(测试,启动,重新启动)和直接运行的脚本.

[email protected] ,您可以在执行脚本时使用自定义参数. 特殊选项--getopt用来分隔选项的结尾. npm将--之后的所有参数直接传递给您的脚本:

npm run test -- --grep="pattern"

参数只会传递给npm run之后指定的脚本,而不传递给任何前置或后置脚本.

env脚本是一个特殊的内置命令,可用于列出运行时脚本可使用的环境变量. 如果您的软件包中定义了" env"命令,它将优先于内置命令.

除了外壳程序预先存在的PATHnpm runnode_modules/.bin添加到提供给脚本的PATH . 由本地安装的依赖项提供的任何二进制文件都可以使用,而无需使用node_modules/.bin前缀. 例如,如果包中的tapdevDependency ,则应编写:

"scripts": {"test": "tap test/\*.js"}

代替

"scripts": {"test": "node_modules/.bin/tap test/\*.js"}  

运行测试.

您的脚本在其中运行的实际外壳取决于平台. 默认情况下,在类似Unix的系统上,它是/bin/sh命令,在Windows上是cmd.exe . /bin/sh引用的实际shell也取决于系统. 从[email protected]您可以使用script-shell配置自定义script-shell .

脚本从模块的根目录运行,而不管调用npm run时当前的工作目录是什么. 如果您希望脚本根据所在的子目录使用不同的行为,则可以使用INIT_CWD环境变量,该变量保存了您运行npm run时的完整路径.

npm runNODE环境变量设置为执行npm可执行node . 另外,如果传递了--scripts-prepend-node-path ,则将node所在的目录添加到PATH . 如果传递了--scripts-prepend-node-path=auto (这是npm v3中的默认值),则仅当在PATH找不到该node可执行文件时才执行此操作.

如果您尝试在没有node_modules目录的情况下运行脚本,但该脚本失败,则会提示您运行npm install ,以防万一您忘记了.

您可以使用--silent标志来防止显示npm ERR! 错误输出.

您可以使用--if-present标志来避免在脚本未定义时以非零退出代码退出. 这使您可以运行可能未定义的脚本,而无需中断执行链.

SEE ALSO


by  ICOPY.SITE