私は npm スクリプトを使用してフロントエンド開発者向けのビルド システムを開発しており、いくつかのタスクが のscripts
セクションで定義されていpackage.json
ます。これらには、css の縮小、コードのリンティング、ドキュメントの生成、JavaScript のトランスパイルなどの典型的なタスクが含まれます。
定義されたすべてのスクリプト タスクは、CLI を介してコマンドを実行することにより、期待される結果を達成$ npm run build
し$ npm run docs
ます$ npm run watch
。
必要なノード パッケージの新規インストール後にビルド システムを正常に再現できることをテストするには、次のようにします。
- プロジェクト ディレクトリの複製を作成します。
node_modules
複製したプロジェクト ディレクトリからフォルダを削除します。- を介して、複製されたプロジェクト ディレクトリに新規インストールを実行し
$ npm install
ます。
devDependencies
これにより、予想どおり、 のセクションにリストされているパッケージに基づいて、必要なノード パッケージがダウンロードされますpackage.json
。
npm install
ただし、次のように定義されたスクリプト タスクのいくつかを新たに実行する$ npm run watch
と、複製されたプロジェクトから正常に動作しなくなります。
さらなる調査により、いいえであることが明らかになりました。複製プロジェクト ディレクトリ (つまり、新規インストール後のディレクトリ) の「node_modules」フォルダにリストされている最上位パッケージの数は、タスクが正常に実行された元のプロジェクト ディレクトリよりも約 30 少なくなっています。すべて欠落しているパッケージは、インストールしたパッケージが依存しているサブ依存関係のようです。
また、$ npm list
CLI を使用して を実行すると、元のプロジェクト ディレクトリと複製されたプロジェクト ディレクトリ (つまり、新規インストールされたディレクトリ) の両方で、一覧表示されるパッケージが異なります。
node_modules
そのため、フォルダー (およびそのコンテンツ) を含めずにプロジェクト ディレクトリを共有することはできません。理想的には、ボイラープレート コードを仲間の開発者と共有し、彼らは単純cd
にプロジェクト ディレクトリに移動して$ npm install
自分で実行したいと考えています。
この問題を解決する方法についての提案をいただければ幸いです。それは私が以前に遭遇したものではありません。
前もって感謝します。