鍍金池/ 問答/Linux  HTML/ window下無法獲取npm run script 所傳參數

window下無法獲取npm run script 所傳參數

通常我們可以使用如下方式在命令行中傳遞參數

node .\scripts\test.js -- --backup --module=sa

使用yargs得到如下結果

{"_":[],"help":false,"version":false,"backup":true,"module":"sa","$0":"scripts\\test.js"}

同樣的我們使用全局的gulp命令gulp -- --backup --module=sa同樣可以得到上述參數。但是我們這個時候是使用的全局gulp,所以為了使用我們的node_modules下的gulp版本,通常在package.json中定義如下gulp命令

scripts: {
    "build": "gulp"
}

但是當我們使用npm run build -- --backup --module=sa這個命令后拿到的yargs結果如下:

{"_":[],"help":false,"version":false,"$0":"node_modules\\gulp\\bin\\gulp.js"}

這個時候在gulpfile.js拿不到命令行中傳遞過來的參數了?為何?如何做才能在gulpfile.js拿到命令行中傳遞過來的參數呢?

環(huán)境
windows 7
node 6.10
npm 5.6.0
gulp 3.9.1

回答
編輯回答
不討囍
// index.js
console.log(process.argv);

package.json

"build": "node index.js"
npm run build -- --name hello

打印的結果是

[ '/usr/local/bin/node',
  '/Users/ltaoo/Documents/nodejs/args/index.js',
  '--name',
  'hello' ]

參考

2018年6月8日 16:43