2017-12-21 4 views
0

を構築:複数のチャンクでそれを構築する方法を、のように:WebPACKのは、私は疑問がある私のプロジェクト <a href="https://github.com/paveleremin/webpack-build" rel="nofollow noreferrer">https://github.com/paveleremin/webpack-build</a></p> <p>の簡単な例でGitのレポを作成したコンフィギュレーション

  1. コンポーネント(すべてのJSファイルから(2つ以上のモジュールで使用されている/ node_modules /と/ app/vendor/foldersのjsファイル)
  2. manifest(webpack js code、バーベルポリフィルなど)今
  3. モジュールのjsファイルあたり

構築は、との問題を抱えていた:scUsedTwiceの

new webpack.optimize.CommonsChunkPlugin({ 
    async: 'components', 
    children: true, 
    minChunks({ resource }, count) { 
     return resource && resource.includes(paths.components) && count > 1; 
    } 
}), 

new webpack.optimize.CommonsChunkPlugin({ 
    async: 'vendors', 
    children: true, 
    minChunks({ resource }, count) { 
     console.log(resource, count); 
     return resource && (resource.includes(paths.nodeModules) || resource.includes(paths.vendor)) && count > 1; 
    } 
}), 

new webpack.optimize.CommonsChunkPlugin({ 
    name: 'manifest', 
}), 
  1. ソースは、コピー&ペーストで、同様login.jsとdashboard.jsに存在します - は、すべてのベンダーがapp.js
である
  • を解決しました

    自分で試してみましたが、非同期モジュールにはの問題があります。

  • 答えて

    0

    ここには多くの質問があります。

    彼らは関連しているので、私はベンダーマニフェストの質問にお答えします。

    デベロッパーの仕方、ハエの頻繁な変更の頻度、最優先事項(ビルドタイム)は、複数の方法があります。

    「dll」(https://webpack.js.org/plugins/dll-plugin/)を使用すると、ベンダー/ dllバンドルに入るファイルを正確に知っていて、ベンダーファイルがほとんど変更されないことがわかっている場合に便利です。このメソッドは、必要なときに1回だけビルドするので、非常に高速なビルド時間を持ちます。

    明示的に私の知っているサードパーティ製のパッケージを含む 'vendor.js'ファイルを持っていた方法です。私はこのファイルを別に扱うためにwebpackをセットアップしました。これの利点は、ベンダーファイルの方が明示的で簡単に更新できますが、ビルドはやや遅くなります。

    entry: { 
        app: [`${SRC}/client-entry.js`], 
        vendor: [`${SRC}/vendor.js`] 
        } 
        plugins: [ 
        new webpack.optimize.CommonsChunkPlugin({ names: ['vendor'], minChunks: Infinity }), 
        ] 
    

    マニフェストを作成する方法は、上記と似ています。またcommon chunks pluginを使用して追加する必要があります。

    new webpack.optimize.CommonsChunkPlugin({ name: "manifest", minChunks: Infinity } 
    

    あなたがそれを通過する時間をした場合、私は、見つけた最高の源である:https://survivejs.com/webpack/optimizing/separating-manifest/

    は、私はあなたが非同期と著作投稿示唆するかもしれません別の質問でペーストの問題?

    +0

    現在、vendor.jsの主な問題である質問を更新しました。すべてのベンダーが現在app.jsに入っているためです 私はDllPluginを使用することはありません –

    関連する問題

     関連する問題