WebPack包变量

时间:2016-06-08 22:34:52

标签: node.js webpack

我正在开发一个"小部件"我正在使用Webpack,到目前为止一切正常。

但是,此时我希望能够为我的用户提供主题,以便他们可以选择他们想要的小部件颜色或位置

有没有办法在注入之前将这些变量传递给bundle?

类似

<script src="http://myAwesomeSite.com/js/bundle.js?theme=red"></script>

1 个答案:

答案 0 :(得分:1)

您可以使用HTML Webpack Plugin传递要在HTML中使用的变量。在这种情况下,您必须将HTML转换为模板(例如,通过将文件的扩展名重命名为 .ejs 来转换为EJS模板)。

然后您可以按如下方式放置所需的变量:

<script src="http://myAwesomeSite.com/js/bundle.js?theme=<%= htmlWebpackPlugin.options.theme %>"></script>

最后,您的webpack配置文件插件列表应该包含HtmlWebpack插件:

plugins: [
    // ...
    new HtmlWebpackPlugin({
      theme: 'red',
      template: './template_name.ejs',
      filename: './new_html_file_created.html'
    }),
    //... 
  ],