0

私は npm スクリプトを使用してフロントエンド開発者向けのビルド システムを開発しており、いくつかのタスクが のscriptsセクションで定義されていpackage.jsonます。これらには、css の縮小、コードのリンティング、ドキュメントの生成、JavaScript のトランスパイルなどの典型的なタスクが含まれます。

定義されたすべてのスクリプト タスクは、CLI を介してコマンドを実行することにより、期待される結果を達成$ npm run build$ npm run docsます$ npm run watch

必要なノード パッケージの新規インストール後にビルド システムを正常に再現できることをテストするには、次のようにします。

  1. プロジェクト ディレクトリの複製を作成します。
  2. node_modules複製したプロジェクト ディレクトリからフォルダを削除します。
  3. を介して、複製されたプロジェクト ディレクトリに新規インストールを実行し$ npm installます。

devDependenciesこれにより、予想どおり、 のセクションにリストされているパッケージに基づいて、必要なノード パッケージがダウンロードされますpackage.json

npm installただし、次のように定義されたスクリプト タスクのいくつかを新たに実行する$ npm run watchと、複製されたプロジェクトから正常に動作しなくなります。

さらなる調査により、いいえであることが明らかになりました。複製プロジェクト ディレクトリ (つまり、新規インストール後のディレクトリ) の「node_modules」フォルダにリストされている最上位パッケージの数は、タスクが正常に実行された元のプロジェクト ディレクトリよりも約 30 少なくなっています。すべて欠落しているパッケージは、インストールしたパッケージが依存しているサブ依存関係のようです。

また、$ npm listCLI を使用して を実行すると、元のプロジェクト ディレクトリと複製されたプロジェクト ディレクトリ (つまり、新規インストールされたディレクトリ) の両方で、一覧表示されるパッケージが異なります。

node_modulesそのため、フォルダー (およびそのコンテンツ) を含めずにプロジェクト ディレクトリを共有することはできません。理想的には、ボイラープレート コードを仲間の開発者と共有し、彼らは単純cdにプロジェクト ディレクトリに移動して$ npm install自分で実行したいと考えています。

この問題を解決する方法についての提案をいただければ幸いです。それは私が以前に遭遇したものではありません。

前もって感謝します。

4

1 に答える 1