npm 脚本是什么以及它们是如何触发的

npm 脚本是 npm 在使用正确的参数调用时将为你运行的命令。这种能力和意义是不要在全局环境中安装 npm 软件包。

预识别和自定义脚本之间的区别依赖于标签之间的 run 字, custom 脚本需要 npm 和脚本名称之间的 run

基于此,我们可以区分和创建与 npm 一起运行的不同任务或脚本。

给出 package.json 文件的以下示例:

{
  "name": "MyApp",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "mocha --recursive ./tests/",
    "test:watch": "npm run test -- -w",
    "start": "nodemon --inspect ./app.js",
    "build": "rm -rf ./dist/ && gulp build"
  }
...
}

我们可以看到要运行的不同任务:

  • npm test 可以正常工作,因为它是一个预先识别的脚本

  • npm run test 可以正常工作,因为它是执行 npm 脚本的有效方法

  • npm run test:watch 也可以工作,它在内部调用 npm run test

  • npm run build 在运行 gulp build 之前删除目录中的 dist 文件夹(假设你在 Linux 或命令 rm 被识别)