2016-11-04 10 views
1

package.jsonのスクリプトからモジュールを実行しています。私は以下のようにコマンドライン引数を追加すると、それが唯一のマイナスで始まらない引数を渡す( - ):コマンドラインからノードモジュールに " - "を付けてargを渡すことができないのはなぜですか?

npm run myscript -one two 

引数Iを取得している:

[ 
    '/home/myhome/apps/node-v6.4.0-linux-x64/bin/node', 
    '/home/myhome/Development/code/node_modules/.bin/mymodule', 
    'two' 
] 

私は追加の任意の引数を最初の1つ以上のマイナス文字は渡されません。 npm run myscript "--one two"npm run myscript "--one" twoのような引用符で囲んでも、それは私のモジュールに送られません。

これらのコマンドライン引数を取得するにはどうすればよいですか?

+1

をあなたは 'NPMの実行のMyScriptみました - オンtwo'を? https://docs.npmjs.com/cli/run-scriptを参照してください。 –

+0

私はそれを発見しました。それは乱雑なハックのようだが、うまくいく。ありがとう。 –

答えて

1

を使用して、それを取り込むことができ、それは-- -arg somethingであなたの引数の前に付けることですを通してそれらを渡すための唯一の方法が表示されます。 --の後のスペースに注意してください。そのスペースがなければ、動作しません。たとえば、これはではなく、はあなたにarg:を渡します。あなたは好きなことをしなければならない。

npm run myscript -- -one two 

を参照してください:https://github.com/npm/npm/issues/3494#issue-14832427

0

あなたはこのように合格する必要があります、そして、あなたはより多くの検索とテストの後process.env.

npm run myscript --one=somevalue --two=somevalue 
+0

これを試しましたか?それは動作しません。 –

+0

それは...私のために...引用符を削除... btw私はあなたが答えを持っていると思います... – Thalaivar

+0

ちょうどそれをやった、まだ私のために動作しません。何のnpmバージョンがありますか? (私は3.10.3、私のノードは6.4.0です) –

関連する問題