从webpack编译器中抓取编译后的文件名哈希可以通过以下步骤实现:
output.filename
属性来定义输出文件的名称。可以使用占位符来包含哈希值,例如[name].[hash].js
,其中[hash]
表示编译后文件的哈希值。compilation
对象来获取编译相关的信息。可以通过在配置文件中的plugins
数组中添加一个webpack.DefinePlugin
插件来访问compilation
对象。compilation
对象的assets
属性来获取编译后的文件列表。通过遍历文件列表,可以找到包含哈希值的文件名。以下是一个示例代码:
const webpack = require('webpack');
module.exports = {
// webpack配置省略...
output: {
filename: '[name].[hash].js',
// 输出文件名包含哈希值
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
FILE_HASH: JSON.stringify('[hash]'),
// 将哈希值传递给代码中的全局变量
},
}),
],
};
在代码中,可以通过process.env.FILE_HASH
来获取编译后文件的哈希值。
注意:以上代码示例中使用了webpack的DefinePlugin插件来传递哈希值给代码中的全局变量,这样可以在代码中直接使用哈希值。如果不需要在代码中使用哈希值,可以直接在webpack配置文件中获取哈希值并进行其他操作。
领取专属 10元无门槛券
手把手带您无忧上云