本文参考了NPM中文文档写做而成的html
运行 package.json 里面的 scriptsnode
npm run-script <command> [--silent][-- <args>...] alias: npm run
这将从包的"scripts"对象运行任意命令。shell
若是未 "command"提供,它将列出可用的脚本。 npm
run[-script]
由测试,启动,从新启动和中止命令使用,但也能够直接调用。json
打印软件包中的脚本后,它们将分为生命周期(测试,启动,从新启动)和直接运行的脚本。api
从开始 npm@2.0.0
,您能够在执行脚本时使用自定义参数。 特殊选项-由getopt用来分隔选项的结尾。 npm将-以后的全部参数直接传递给您的脚本:测试
npm run test -- --grep="pattern"
参数将仅传递到后面指定的脚本,npm run
而不会传递到任何前置或后置脚本。spa
该 env 脚本是一个特殊的内置命令,可用于列出运行时脚本可以使用的环境变量。若是您的软件包中定义了“ env”命令,它将优先于内置命令。code
除了外壳的预先存在的 PATH,npm run 增长了 node_modules/.bin
对 PATH 提供给脚本。本地安装的依赖项提供的任何二进制文件均可以不带 node_modules/.bin
前缀使用。例如,若是包装中有 devDependencyon tap,则应输入:htm
"scripts": {"test": "tap test/\*.js"}
代替
"scripts": {"test": "node_modules/.bin/tap test/\*.js"}
运行测试。
您的脚本在其中运行的实际外壳取决于平台。默认状况下,在相似 Unix 的系统上,它是/bin/sh 命令;在 Windows 上,它是命令 cmd.exe。所引用的实际 shell /bin/sh
也取决于系统。
从那时起,npm@5.1.0 您能够使用 script-shell 配置自定义外壳。
脚本从模块的根目录运行,而无论调用时当前的工做目录是什么 npm run。
若是您但愿脚本根据您所在的子目录使用不一样的行为,则能够使用 INIT_CWD 环境变量,该变量保存您运行时所在的完整路径 npm run。
npm run 将 NODE 环境变量设置为 node 可执行的可执行文件 npm。
另外,若是--scripts-prepend-node-path
经过,则将 node 驻留的目录添加到中 PATH。
若是--scripts-prepend-node-path=auto
经过了(这是 npmv3 中的默认值),则仅当在中 node 找不到该可执行文件时才执行此操做 PATH。
若是您尝试在没有 node_modules
目录的状况下运行脚本,
但脚本失败,则会警告您运行 npm install
,以防万一您忘记了。
您能够使用该--silent
标志来防止 npm ERR!错误显示输出。
您能够使用该--if-present
标志来避免在脚本未定义时以非零的退出代码退出。
这使您能够运行可能未定义的脚本,而无需中断执行链。
本文参考NPM中文文档