NPM 2.0.0&引数を実行スクリプトに渡す

7月22日に、小規模ではあるが重要なイベントが発生しました。 プルリクエストが受け入れられ、npmスクリプトに任意の引数を渡すサポートが追加されました。 この機能を含む2.0.0のnpm alphaリリースはすでに登場しています。

手始めに、なぜこれが良いのですか?
歴史的に、ある種のノードパッケージ(ビルドツール、テストランナー)は2種類のパッケージを使用しました。1つはグローバルにインストールされ、通常は-fix postfix(karma-cli、grunt-cli)があり、ローカルにインストールされたパッケージを実行しましたnode_modules。 これにより、他のすべてのプロジェクトのすべてのテストを中断することなく、異なるバージョンのテストランナーを使用できるようになりました。必要に応じて、いずれかのプロジェクトのパッケージを更新します。 これはかつて、うなり声に対する優れたソリューションでした(バージョン0.4.0はこのアプローチを適用し、パッケージの後方互換性に関する多くの問題を回避するのに役立ちました)。
また、npmスクリプトを実行すると、node_modules / .binが実行可能ファイルのパスに追加されます。このファイルには、原則として、グローバルcliパッケージによって起動される同じランナー/ビルダーが含まれます。 これにより、package.jsonに追加できます。
scripts: { grunt: "grunt build" } 

そして、単純なnpm run gruntでローカルにインストールされたgruntをnpm run gruntます。 今日までの問題は、npmスクリプトに引数を渡す必要がある場合でした-これは不可能でした。
これでpackage.jsonを追加することで可能になります
 scripts: { grunt: "grunt" } 

npm run grunt - buildnpm run grunt - build --verboseなどのコマンドを使用します。 元のプルリクエストに対するコメントの1 alias gr='npm run grunt --'alias gr='npm run grunt --'という形式のalias gr='npm run grunt --'作成し、単純なgr buildビルドを開始することが提案されています。


Source: https://habr.com/ru/post/J230831/


All Articles