繁体   English   中英

Webpack编号的块无法按配置正确加载

[英]Webpack numbered chunks not loading correctly per config

所以我有两个不同的webpack配置,我要传递一个看起来像这样的数组:

[
    {
        entry: entrypointsIE,
        output: outputIE,
        module: {
            loaders: [
                  // set of loaders that has one difference to load SCSS variables from a different location
            ]
        },
        resolveLoader: resolveLoader,
        resolve: resolve,
        plugins: plugins,
        devServer: devServer
    },
    {
        entry: entrypoints,
        output: output,
        module: {
            loaders: [
                 // loaders all the same as the IE9 except one difference in sass loader    
            ]
        },
        resolveLoader: resolveLoader,
        resolve: resolve,
        plugins: plugins,
        devServer: devServer
    }
]



output = {
    path: '/web/dist',
    filename: '[name].bundle.js',
    chunkFilename: '[id].bundle.js'
};

outputIE = {
    path: '/web/dist',
    filename: '[name].ie.bundle.js',
    chunkFilename: '[id].ie.bundle.js'
};

apps.forEach(function(appName, index) {
    entrypoints[appName] = [ 'webpack/hot/dev-server', appName + '/app' ];
});

appsIE = apps;

appsIE.forEach(function(appName, index) {
    entrypointsIE[appName] = [ 'webpack/hot/dev-server', appName + '/app.ie' ];
});

入口点是完全相同的文件(这是我认为问题出在哪里)。 我有我的index.html条件,其负荷framework.ie.js如果它检测到IE浏览器,并framework.js如果它没有。 这按预期工作。 问题在于它不会一致地加载编号的块。 有时我看到0.bundle.js被加载,有时我看到0.bundle.ie.js被加载(无论是否加载了framework.ie.jsframework.js )。

是否有某种方法可以使其始终如一地加载正确的块,还是有一种方法可以确保我需要的所有内容都被加载到框架束中,而webpack不会加载任何块?

找到了解决方案。 新增:

new webpack.optimize.LimitChunkCountPlugin({maxChunks: 1}

做到了这一点,因此我的入口点块是唯一创建的块,因此逻辑正确运行。

您是否尝试过使用条件注释根据浏览器供应商加载适当的脚本?

<!--[if IE]>
    <script src="framework.ie.js"/>
    <script src="0.bundle.ie.js"/>
<![endif]-->

<!--[if !IE]> -->
    <script src="framework.js"/>
    <script src="0.bundle.js"/>
<!-- <![endif]-->

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM