2017-04-10 7 views
5

AggressiveSplittingPluginを使用するためにwebpack2に移行し、HTTP/2経由でバンドルのダウンロードを高速化すると、「Uncaught ReferenceError:webpackJsonpが定義されていません」という問題が発生しました。各部分を初期化する。誰かがこのようなことに遭遇したのですが、あなたはこの問題を何とか解決しましたか?AggressiveSplittingPlugin-> webpackJsonpが定義されていません

var path = require('path'); 
 
var webpack = require('webpack'); 
 
var ManifestPlugin = require('webpack-manifest-plugin'); 
 

 
module.exports = { 
 
    devtool: 'source-map', 
 
    entry: [ 
 
    path.join(__dirname, '../../js/main'), 
 
    'jquery' 
 
    ], 
 
    output: { 
 
    path: path.join(__dirname, '../../js/public'), 
 
    filename: '[name].js', 
 
    publicPath: '/assets/' 
 
    }, 
 
    resolve: { 
 
    alias: {'jquery': path.join(__dirname, '../../js/modules/libs/jquery-2.2.3.min.js')}, 
 
    extensions: ['.js', '.jsx'], 
 
    modules: [ 
 
     path.resolve(path.join(__dirname, '../../js')), 
 
     "node_modules" 
 
    ], 
 
    }, 
 
    plugins: [ 
 
    new webpack.optimize.OccurrenceOrderPlugin(true), 
 
    new webpack.NoEmitOnErrorsPlugin(), 
 
    new webpack.optimize.UglifyJsPlugin({ 
 
     output: { 
 
     comments: false 
 
     }, 
 
     compress: { 
 
     warnings: false, 
 
     // eslint-disable-next-line camelcase 
 
     screw_ie8: true 
 
     } 
 
    }), 
 
    new webpack.ProvidePlugin({ 
 
     jQuery: 'jquery', 
 
     $: 'jquery', 
 
     jquery: 'jquery' 
 
    }), 
 
    new webpack.optimize.AggressiveSplittingPlugin({ 
 
     minSize: 20000, 
 
     maxSize: 50000 
 
    }), 
 
    new ManifestPlugin({ 
 
     fileName: 'manifest.json', 
 
     basePath: 'js/public/' 
 
    }), 
 
    ], 
 
    module: { 
 
    rules: [ 
 
     { 
 
     test: /\.js$/, 
 
     use: [ 
 
      { 
 
      loader: 'babel-loader' 
 
      } 
 
     ], 
 
     include: path.join(__dirname, '../../js'), 
 
     exclude: /node_modules/ 
 
     } 
 
    ] 
 
    } 
 
};

答えて

0

またWebPACKのランタイムが含まれるマニフェストを抽出するためにCommonsChunkPluginを使用することができます。

new webpack.optimize.CommonsChunkPlugin({ name: 'manifest' }) 

ます。また、このマニフェストが最初であることを確認する必要がありますその後、他の(積極的に分割された)チャンクのスクリプトタグとスクリプトタグが追加されます。

関連する問題