如何在 Vue 中将配置传递给 index.html

How do I pass configurations to index.html in Vue

我想将基于环境的 google 标签管理器 ID 传递到我的 vue 应用程序 index.html 中的脚本,但我找不到将配置传递到 html 文件。请协助。

这是脚本

<script>
  (function (w, d, s, l, i) {
    w[l] = w[l] || [];
    w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
    var f = d.getElementsByTagName(s)[0],
      j = d.createElement(s),
      dl = l != "dataLayer" ? "&l=" + l : "";
    j.async = true;
    j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
    f.parentNode.insertBefore(j, f);
  })(window, document, "script", "dataLayer", "<env-gtm-id-goes-here>"
</script>

您可以使用html interpolationRefer here

结合vue Environment VariablesRefer Here

例如: 创建一个新文件名 .env 并进行输入 VUE_APP_ENVARS=prod 并在 index.html 中使用 html 插值

<p>The username to test is <%= VUE_APP_ENVIR %></p>

更新: 因为你需要在 <script> 标签中访问这个变量,所以使用这个

(window, document, "script", "dataLayer", "<%= VUE_APP_ENVIR %>"