1

Mypackage.json很少有以这种方式定义的脚本。

{
  "name": "project",
  "scripts": {
    "standard": "./node_modules/.bin/standard",
    "lint": "npm run standard",
    "lint:fix": "npm run lint -- --fix"
  }
}

当我执行时$ npm run lint:fix,我发现参数--fix不会传播到./node_modules/.bin/standard. 这是我得到的输出。

bash-3.2$ npm run lint:fix

> project@0.0.1 lint:修复 /path/to/my/project
> npm 运行 lint -- --fix

> project@0.0.1 lint /path/to/my/project
> npm 运行标准“--fix”

> project@0.0.1 标准 /path/to/my/project
> 标准

标准:使用 JavaScript 标准样式 (http://standardjs.com)
标准:运行 `standard --fix` 自动修复一些问题。
  /path/to/my/project/data/someFile.js:38:34:额外的分号。

npm 错误!达尔文 16.0.0
npm 错误!argv “/usr/local/bin/node” “/usr/local/bin/npm” “运行” “标准” “--fix”
npm 错误!节点 v6.9.4
npm 错误!npm v3.10.10
npm 错误!代码生命周期

这里有一个错误,因为--fix参数没有正确传播。

好吧,我的问题不在于 linting 或 standardJs。我想知道如何让参数正确传播到顶级脚本。

4

2 回答 2

0

嗯,这是我在这个问题上大汗淋漓之后发现的。(不过,这很愚蠢)。

错误不是因为论点没有传播而引起的。相反,这是因为--fix标记在standardlinting 期间不会自动修复分号问题。

在给定的一组脚本中(在问题中)。论据成功传播。因此,这是将参数传播到顶级脚本的方式。

于 2017-03-27T14:21:33.963 回答
-1

-- --你不应该在你的 npm 脚本中需要一个 double 。

你的lint:fix脚本应该是:"npm run lint --fix"

于 2017-03-26T17:46:51.227 回答