我有使用Webpack构建HTML页面的前端应用程序。
我正在将参数(例如网址)传递给html页面,如下所示:
new HtmlWebpackPlugin({
template: path.resolve(__dirname,"src","index.html"),title: 'Some prebuild constant here',some_url: variables.url
})
这些参数在HTML页面内使用如下:
Hello world. here be <a href="<%= htmlWebpackPlugin.options.some_url %>">link</a>
我有一个具有大型代码库和丰富遗产的大型应用程序。但是我需要在构建阶段而不是在客户端JS中将这些参数(title
,some_url
)传递给html。需要通过ajax加载参数!
我看到两种方法:
- 长时间重写所有旧代码以使应用程序真正具有动态性
- 找到了一些神奇的webpack内联插件,它将解析html页面代码并替换类似的内容
<a href="<%= htmlWebpackPlugin.options.some_url %>">link</a>
类似
<a href="#default_value" id="justarandomhash">link</a>
所以我以后可以像这样填充thouse #default_values:
document.getElementById('justarandomhash').href = variables.url;
带有值的值,通过一些API /配置文件通过ajax加载
var request = new XMLHttpRequest();
request.open('GET','/config/test.json',false); // `false` makes the request synchronous
request.send(null);