首页 > 解决方案 > 如何为 Webpack 4 中的每个输出导出 contenthash 值?

问题描述

我有一个相当简单的 Webpack 4 配置,可以生成几个带有自己的 contenthash 的 JS 文件。

JS的一个例子:

entry: {
        build: './public/js/main.dev.js',
        vueApp: './public/js/vueApp/main.js'
    },
    output: {
        path: path.resolve(__dirname, './public/build'),
        publicPath: '/',
        filename: '[name].[contenthash].js'
    },

现在,为了使用服务器端渲染,我需要在生成后以某种方式从 webpack 导出当前的 contenthash 值。有没有一种干净的方法来实现这一目标?我已经尝试使用 html-webpack-plugin 生成 HTML 文件,但是在每次渲染时解析额外的 HTML 似乎并不是最优化的解决方案。

标签: javascriptwebpackwebpack-4

解决方案


好的,所以我发现最接近答案的是 Webpack manifest 插件:

https://www.npmjs.com/package/webpack-manifest-plugin

它基本上生成一个清单 JSON 文件,将文件及其散列名称链接在一起,因此可以在交付内容之前在服务器端对其进行解析。


推荐阅读