Javascript 如何将Webpack hash bundle.js文件名注入到RequireJS组件中?

Javascript 如何将Webpack hash bundle.js文件名注入到RequireJS组件中?,javascript,reactjs,webpack,path,requirejs,Javascript,Reactjs,Webpack,Path,Requirejs,我正在使用Webpack将React组件编译成UMD包,以便在我的一个Splunk仪表板中使用。Splunk仪表板上使用的JavaScript文件使用的是RequireJS,为了使用我的React组件,我需要在该文件的配置路径中指定bundle.js 目前,我只有两个选项,要么使用新的bundle.[contenthash].js name手动更新Splunk端的RequireJS配置路径,要么在每次运行构建时将其命名为bundle.js而不进行哈希并清除浏览器上的缓存。是否有一种方法可以让我使

我正在使用Webpack将React组件编译成UMD包,以便在我的一个Splunk仪表板中使用。Splunk仪表板上使用的JavaScript文件使用的是RequireJS,为了使用我的React组件,我需要在该文件的配置路径中指定bundle.js

目前,我只有两个选项,要么使用新的bundle.[contenthash].js name手动更新Splunk端的RequireJS配置路径,要么在每次运行构建时将其命名为bundle.js而不进行哈希并清除浏览器上的缓存。是否有一种方法可以让我使用Webpack或任何其他方法将此哈希包名称注入到RequireJS配置路径中,这样我就不需要在每次运行构建时手动清除缓存/更新文件命名?我曾经考虑过创建一个Python脚本来处理这个注入,但是我想首先看看是否有一种更简单的方法来完成这项工作,最好是使用我现有的设置

我的配置在这里,在本例中,dashboard容器是我捆绑的React组件。我想替换路径中的bundle名称,并让Webpack在那里注入bundle。[contenthash]

Splunk仪表板JS文件:

require.config({
路径:{
反应:
“/static/app///node_modules/react/umd/react.production.min”,
“反应dom”:
“/static/app///node_modules/react dom/umd/react dom.production.min”,
“仪表板容器”:“/static/app///dist/bundle”
}
});
要求([
“下划线”,
"骨干",,
“splunkjs/mvc”,
“jquery”,
“反应”,
“反应dom”,
“仪表板容器”
],函数(389;,主干,mvc,$,React,ReactDOM,DashboardContainer){
常量服务列表=[
{name:'Service 1',status:'Good'},
{name:'Service 2',status:'Good'},
{name:'Service 3',status:'Error'},
{name:'Service 4',status:'Good'}
];
ReactDOM.render(
React.createElement(DashboardContainer.default,{serviceList:serviceList},null),
document.getElementById('app')
);
});
网页包配置:

const path=require('path');
const HtmlWebpackPlugin=require('html-webpack-plugin');
module.exports={
条目:'./src/js/components/container/DashboardContainer.jsx',
输出:{
path:path.resolve(uu dirname,'dist'),
文件名:'bundle.[contenthash].js',
库:“DashboardContainer”,
图书馆目标:“umd”
},
模块:{
规则:[
{
测试:/\(js|jsx)$/,
排除:/node_模块/,
加载器:“巴别塔加载器”
},
{
测试:/\.scss$/,,
用法:['style-loader','css-loader','sass-loader']
},
{
测试:/\.html$/,,
使用:[
{
加载器:“html加载器”
}
]
}
]
},
插件:[
新HtmlWebpackPlugin({
模板:'./src/index.html',
文件名:'./index.html'
})
],
devtool:“廉价模块评估源映射”,
开发服务器:{
contentBase:path.join(\uu dirname,'dist')
}
};