我正在使用 webpack 构建我的反应应用程序。我只是想知道是否有生成具有脚本选项卡的 html 文件名中带有版本号的方法,例如 .
我试图探索 HtmlWebpackPlugin 但一无所获。谁能给我一个方向,是否有可用的插件来执行此操作,或者我必须编写自己的脚本。
谢谢
我正在使用 webpack 构建我的反应应用程序。我只是想知道是否有生成具有脚本选项卡的 html 文件名中带有版本号的方法,例如 .
我试图探索 HtmlWebpackPlugin 但一无所获。谁能给我一个方向,是否有可用的插件来执行此操作,或者我必须编写自己的脚本。
谢谢
履行@Manis 回答我想提供有关此解决方案的更完整说明。
它可以通过output.filename
替换设置来实现。
{
entry: ['./your/entry.js'],
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].[contenthash].bundle.js', // Line of interest
publicPath: '/'
},
/* ... */
}
替换将根据
[contenthash]
资产的内容添加唯一的哈希。当资产的内容发生变化时,[contenthash]
也会发生变化。
更多选项和示例在这里。
在输出文件的名称中使用[hash]
。在这里查看更多详细信息。
PS:
index.html
就我在项目中遇到的情况而言,您应该有正确的文件名
如果这里的问题是如何使用您的版本package.json
,我遇到了同样的问题并通过以下方式解决了它:
将此添加到您的 webpack.config.js
var PACKAGE = require('./package.json');
var version = PACKAGE.version;
然后您可以将版本附加到您的文件中:
output: {
...
filename: `myLibrary-${version}.js`
...
}