プラグインのnpmでピアの依存関係を使用する理由
たとえば、Gruntプラグインがgrunt への依存関係を「ピア依存関係」として定義するのはなぜですか? なぜプラグインはgrunt-plug / node_modulesの独自の依存関係としてGruntを使用できないのですか? ピアの依存関係については、https://nodejs.org/en/blog/npm/peer-dependencies/で説明しています。 しかし、私は本当にそれを理解していません。 例 現在、Gruntタスクを使用してソースファイルを/ dist /フォルダーにビルドし、ローカルデバイスで提供されるAppGyver Steroidsを使用しています。私はnpmとうなり声で非常に新しいので、何が起こっているのかを完全に理解したいと思います。 これまでのところ私はこれを得ます: [rootfolder] /package.jsonはnpmにgrunt-steroids、開発がnpmパッケージに依存していることを伝えます。 "devDependencies": { "grunt-steroids": "0.x" }, はい。[rootfolder]でnpm installを実行すると、依存関係が検出され、[rootfolder] / node_modules / grunt-steroidsに grunt-steroidsがインストールされます。 次に、Npmは[rootfolder] /node_modules/grunt-steroids/package.jsonを読み取り、grunt-steroids独自の依存関係をインストールできるようにします。 "devDependencies": { "grunt-contrib-nodeunit": "0.3.0", "grunt": "0.4.4" }, "dependencies": { "wrench": "1.5.4", "chalk": "0.3.0", "xml2js": "0.4.1", "lodash": "2.4.1" }, "peerDependencies": { "grunt": …