如何在 Vue 应用程序的头部有条件地添加代码



我已经使用 Vue CLI 制作了一个简单的 Vue 应用程序,现在我想在 html 的头部添加 Google Tag Manager 代码,有条件地仅用于生产版本。我可以使用像 php 这样的服务器端语言来做到这一点,所以我尝试将索引.html更改为索引.php但是当我构建项目时,它会输出一个索引.html注入应用程序和索引.php而无需在 dist 文件夹中注入应用程序。php 代码也不适用于 vue cli 中的 webpack-dev-server。

如何将一些服务器端代码(不一定是 php(集成到 vue CLI 生成的 vue 应用程序的索引中,以便有条件地为生产版本添加跟踪代码管理器代码?我不确定 vue cli 构建过程是如何完成的。我可以告诉它使用不同的索引.html用于生产版本吗?

额外:我有兴趣了解更多关于 vue cli 构建过程的信息。模板索引中没有脚本标签.html那么 Vue 在构建或使用 webpack-dev-server 时是如何将自己注入索引的呢?

我刚刚在 vue cli 文档中看到 index.html 页面是由 webpack 处理的。这意味着我可以使用 lodash 模板语法仅在生产环境中轻松地在头部添加标签

<head>
...
<%= process.env.NODE_ENV === 'production' ? '<script>...</script>' : '' %>
...
</head>

替代方法:

<% if(process.env.NODE_ENV === 'production') { %>
<script>...</script>
<% } %>

试试这个库,它允许条件预处理:

js-conditional-compile-loader

最新更新