Как использовать переменную html-webpack-plugin внутри <script>? - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь назначить переменную внутри тега <script> с помощью html-webpack-plugin, в котором находится переменная. Я могу легко использовать его внутри HTML-тегов, таких как заголовок <%= htmlWebpackPlugin.options.applicationId %>

Мой плагин html-webpack выглядит так:

new HtmlWebpackPlugin({
      filename: config.build.index,
      template: 'index.html',
      inject: true,
      applicationId : process.env.APPLICATION_ID ?process.env.APPLICATION_ID : 1,
      minify: {
        removeComments: true,
        collapseWhitespace: true,
        removeAttributeQuotes: false
        // more options:
        // https://github.com/kangax/html-minifier#options-quick-reference
      },
      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
      chunksSortMode: 'dependency'
    }),

И я хочу использовать переменную applicationId на странице index.html со следующим скриптом:

<script type="text/javascript">
      var xhr = new XMLHttpRequest();
      xhr.onreadystatechange = function() {
        if (xhr.readyState == XMLHttpRequest.DONE) {
          document.write(xhr.responseText);
        }
      };
     var appId = <%= htmlWebpackPlugin.options.applicationId %>;
   xhr.open("GET","https://somesite.com/NavigationApi/api/content/get?applicationId=" + appId,false);
      xhr.send(null);
    </script>

1 Ответ

0 голосов
/ 07 марта 2019

Вы можете установить скрытый ввод и установить appId там, затем вы можете получить это значение с помощью javascript (не забудьте сделать это внутри события jquery onload или используя DOMContentLoaded , если вы хотите используйте vanilla JS), надеюсь, это поможет.

...