Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何传播npm脚本命令行参数?_Javascript_Node.js_Npm_Npm Scripts - Fatal编程技术网

Javascript 如何传播npm脚本命令行参数?

Javascript 如何传播npm脚本命令行参数?,javascript,node.js,npm,npm-scripts,Javascript,Node.js,Npm,Npm Scripts,我的package.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\u modules/.b

我的
package.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\u modules/.bin/standard
。这是我得到的输出

bash-3.2$ npm run lint:fix > project@0.0.1 lint:fix /path/to/my/project > npm run lint -- --fix > project@0.0.1 lint /path/to/my/project > npm run standard "--fix" > project@0.0.1 standard /path/to/my/project > standard standard: Use JavaScript Standard Style (http://standardjs.com) standard: Run `standard --fix` to automatically fix some problems. /path/to/my/project/data/someFile.js:38:34: Extra semicolon. npm ERR! Darwin 16.0.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "standard" "--fix" npm ERR! node v6.9.4 npm ERR! npm v3.10.10 npm ERR! code ELIFECYCLE bash-3.2$npm运行lint:fix > project@0.0.1lint:fix/path/to/my/project >npm运行皮棉----修复 > project@0.0.1lint/path/to/my/project >npm运行标准--“修复” > project@0.0.1标准/路径/到/我的/项目 >标准 标准:使用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”“运行”“标准”“--修复” npm错误!节点v6.9.4 npm错误!npm v3.10.10 npm错误!代码失效循环 这里有一个错误,因为
--fix
参数没有正确传播


我的问题不是关于linting或standardJs。我想知道如何使参数正确传播到顶级脚本。

在npm脚本中不需要双
--


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

好吧,这就是我在这个问题上费了很大劲后发现的。(不过这很傻)

错误不是因为参数未传播而导致的。相反,这是因为
standard
中的
--fix
标志不能自动修复linting期间的分号问题


在给定的脚本集合中(在问题中)。该参数已成功传播。因此,这是将参数传播到顶层脚本的方法。

Hi@edwarddamato,我认为需要双
-->
。因为,第一组连字符是npm脚本命令和参数(需要传递给脚本)之间的分隔符,而第二组是参数本身。