根据所有入口点的需要在webpack运行时代码中添加模块

时间:2019-06-22 14:22:05

标签: webpack webpack-4

我有某些模块,例如Modernizr,我希望将其放在webpack的“运行时”文件中,因为尽快加载这些模块很重要。但是,我似乎无法弄清楚如何添加此类模块,因为Webpack每次都会将它们放入单独的资产中。是否可以将某些模块添加到runtime.js文件中?

几个小时后,我得到了以下文件,但是,对于如何将模块添加到runtime.js文件中,这仍然是个谜。

const path = require('path');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
    mode: "production",
    entry: {
        vendor: './js/vendor.js',
        global: './js/global.js',
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: '[name].[chunkhash].js',
    },
    resolve: {
        alias: {
            $: "jquery/src/jquery",
        }
    },
    optimization: {
        runtimeChunk: 'single',
        splitChunks: {
            chunks: 'all'
        },
        minimizer: [new UglifyJsPlugin({
            sourceMap: true,
            extractComments: '/@extract/i',
            parallel: 6
        })]
    },
    module: {
        rules: [{
            test: /\.js$/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['@babel/preset-env']
                }
            },
        }]
    }
};

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以仅使用“运行时”条目将内容添加到运行时块中。