あなたは Node.js プロジェクトに深く入り込んで、package.json を見て、「bin」をいつ使用するか、「scripts」をいつ使用するかを判断しようとしています。正直に言って、これは問題に遭遇するまで見落とされがちなことの 1 つだからです。
「bin」フィールドはグローバルなアクセシビリティに関わるものです。ここで、ユーザーがパッケージのインストール後に端末から直接実行できるコマンドを定義します。次のように考えてください。eslint のようなツールをグローバルにインストールすると (npm install -g eslint)、ターミナルから直接 eslint コマンドを使用できるようになり、追加の手順は必要ありません。それが「ビン」の魅力です。
簡単なセットアップは次のとおりです:
グローバルにインストールされると、ユーザーはターミナルに my-tool と入力するだけで済みます。ドーン、走ります。ファイルやディレクトリを探し回る必要はありません。基本的にショートカットを作成すると、npm が自動的にそれを設定します。これは、人々が自分のシステム上で世界中で使用できる CLI ツールを作成したい場合に最適です。
さて、「スクリプト」でしょうか? ローカルタスクについては以上です。ここで、プロジェクト内で実行するコマンドを定義します。アプリを Webpack にバンドルしたり、テストを実行したりしたいですか?これを「scripts」にポップすると、「npm run
例:
npm run build を実行すると、設定した内容がすべて実行されます。プロジェクト固有のタスクを自動化するのに非常に便利です。ここで重要なのは、これらのスクリプトはプロジェクト固有であるということです。 「bin」のコマンドのようにグローバルに使用することはできません。
「bin」は、ユーザーがどこからでも実行できるようにグローバル コマンドを設定する場所と考えてください。 「スクリプト」は、開発者がプロジェクト内で使用するローカル タスク用です。どちらも非常に便利ですが、目的が異なります。
次に、package.json に何かを追加するときは、次のことを自問してください。ユーザーがこれをどこでも実行できるようにしたいのか、それともプロジェクトだけのためのものなのか?これは、「bin」と「scripts」のどちらを選択するかを決めるのに役立ちます。
以上がpackage.json の bin とスクリプトの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。