問題タブ [yargs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
770 参照

javascript - node.js(yargs) の数値が文字列として入力されていますか?

--l=4 および --w=4 で solve-3 を実行すると、関数rectangle.perimeter およびrectangle.area は NaN を出力します。なんで?入力された整数が文字列に変換されているように見えたので、Number() を追加しましたが、何も変わりませんでした。

ファイル 1: rect-2.js

ファイル 2: solve-3.js

0 投票する
1 に答える
814 参照

node.js - yargs パッケージが必要 - NodeJS

var argv = require("yargs")との違いは何var argv = require("yargs").argvですか? パッケージが必要なときに変数argvに、パッケージのすべての関数/モジュールがありますが、.argvそれは何ですか?

モリスの皆さんありがとう

0 投票する
3 に答える
8325 参照

javascript - npmスクリプトは、yargsを使用してパラメーター/引数をノードスクリプトに渡します

npmスクリプトの引数として使用する場合、yargsからキーを取得するために呼び出すことは可能ですか?

OSX ターミナルでのユーザー タイプ:

これは package.json で実行されます:

これにより、

これは、 package.json"scaffold" : "node scaffold/index.js --name=blah"でハードコーディングした場合にのみ機能しますが、これを構成可能にする必要があります。

前述したように、配列ではなく名前でキーを簡単に取得できるように見えるため、args を使用しています。提案を受け付けます。

私は何が欠けていますか?

update 11-07-2017 関連:コマンドライン引数を npm スクリプトに送信する

ただし、コマンドライン1: npm run scaffold name=hello ORを渡すと、次の2: npm run scaffold --name=hello結果が得られます。

yargs.nameプロパティを取得する方法がまだわかりません。まだ定義されていません。


更新 13-07-2017

とりあえず、諦めました。それは不可能に思えます。ターミナルでスクリプトを手動で実行します。例えば

以下の画像は、npm スクリプトを介して実行するのではなく、ノード スクリプトを直接実行することを示しています。https://www.npmjs.com/package/noptノード モジュールを追加して、それが役立つかどうかを確認しました (そうではありません)。process.argv.namenpm スクリプトを実行するときはまだ定義されていません。

ここに画像の説明を入力


2017 年 7 月 18 日更新

github の例を追加: https://github.com/sidouglas/stackoverflow-node-arguments


2017 年 7 月 24 日更新

コマンドの開始前に変数を追加すると myvar="hello npm run scaffoldnpm run scaffold myvar="hello world"