使用定义的选项值定义 grunt 别名

defining grunt aliases with option values defined

G运行t 是否允许像 npm 或 bash 那样定义自定义别名?在 grunt docs 它说,可以定义任务序列(可能只是一个项目)。所以在我看来应该叫chaining而不是aliasing。我正在寻找的是提供一个 g运行t 别名,它只会定义参数的值。

使用 npm,我可以制作 npm test-e2e 运行 grunt test --type=e2e。在 package.json 我有:

"scripts": {
  "test-e2e": "node_modules/.bin/grunt test --type=e2e",  
  "test-unit": "node_modules/.bin/grunt test --type=unit"
}

我可以将 grunt test-e2e(注意 grunt 而不是上面的 npm)作为 grunt test --type=e2e 的别名吗?

Grunt API 不提供解释命令行参数的方法,但由于每个 gruntfile 只是一个 Node.js 模块,因此您不受限制以任何方式在 Gruntfile 中自己实现 CLI 参数解释。

我刚刚发现 Grunt 确实有一个内置的 API 来检索 CLI 参数 - 有关使用此功能的示例,请参阅 docs

传递给节点可执行文件的所有参数都可以通过节点的 process.argv 数组获得 - 您可以自己处理参数,甚至可以使用许多参数处理模块之一(minimist, yargs, nomnom举几个例子)。