Webpack-如何在HTML中包含块文件?

问题描述 投票:1回答:1

我建立了一个React项目,并使用express运行生产。

这是可行的,但下一步我将带有webpack的optimization.splitChunks使用。

optimization: {
    runtimeChunk: 'single',
    splitChunks: {
        chunks: 'all',
        maxInitialRequests: Infinity,
        minSize: 0,
        cacheGroups: {
            vendor: {
                test: /[\\/]node_modules[\\/]/,
                name(module) {
                    // get the name. E.g. node_modules/packageName/not/this/part.js
                    // or node_modules/packageName
                    const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1];

                    // npm package names are URL-safe, but some servers don't like @ symbols
                    return `npm.${packageName.replace('@', '')}`;
                }
            }
        }
    }
}

现在我有多个捆绑包。例如main.cb042e4a129acc79cfb4.js,npm.axios.fa2892d5344ea2c206bf.js等]

所以我现在如何在index.html中编辑此行?如何在index.html中包含这些文件?

<script src="/dist/bundle.js"></script>
webpack webpack-4
1个回答
0
投票

[当您的Webpack构建使用散列ID散出包/块时-并且您不使用像the HtmlWebpackPlugin这样的工具-您将需要某种来源=>包映射。

我为此使用WebpackManifestPlugin,但不使用Express。

要点是-在服务器启动时,您将必须读取此manifest.json文件并根据该文件中的映射动态创建类似<script src="{{vendorpath}}"></script>的内容。

© www.soinside.com 2019 - 2024. All rights reserved.