webpack - 如何在 Vue 应用程序的头部有条件地添加代码
问题描述
我已经使用 Vue CLI 制作了一个简单的 Vue 应用程序,现在我想在 html 的头部有条件地添加 Google 跟踪代码管理器代码,仅用于生产构建。我可以使用像 php 这样的服务器端语言来做到这一点,所以我尝试将 index.html 更改为 index.php,但是当我构建项目时,它输出一个带有注入应用程序的 index.html 和没有注入应用程序的 index.php dist 文件夹。php 代码也不适用于 vue cli 中的 webpack-dev-server。
如何将一些服务器端代码(不一定是 php)集成到 vue cli 生成的 vue 应用程序的索引中,以有条件地为生产构建添加标签管理器代码?我不确定 vue cli 构建过程是如何完成的。我可以告诉它为生产构建使用不同的 index.html 吗?
额外:我有兴趣了解更多关于 vue cli 构建过程的信息。前任。模板 index.html 中没有 script 标签,那么 Vue 在构建或使用 webpack-dev-server 时如何将自己注入到索引中?
解决方案
刚刚在vue cli文档中看到index.html页面是webpack处理的。这意味着我可以使用 lodash 模板语法在生产环境中轻松地在头部添加标签
<head>
...
<%= process.env.NODE_ENV === 'production' ? '<script>...</script>' : '' %>
...
</head>
推荐阅读
- javascript - 如何在表单类型 = 范围的更改事件上正确更新状态,它给出了以前的状态
- python - 如何使用 Python 替换 Get 请求中的用户输入值
- delphi - 如何在delphi中将IDispatchEx类型转换为TAutoIntfObject
- c# - 有没有办法禁用 IdleState?
- go - 如何深拷贝对象
- fiddler - 用于编辑 FiddlerScript 的键盘快捷键?
- ios - 将单元格插入表格视图后调用哪个方法
- javascript - 如何修复每个 then() 应该返回一个值或抛出
- arrays - 在 Angular 上转换数组内的数据类型
- asp.net-core - 链接标签助手在 asp.net core 2.2 中不起作用