vue.js - VueJS - prod build 从 HTML 中删除属性引号
问题描述
首先,在缩小的生产版本中从 HTML 中删除属性引号是标准的吗?似乎这会导致某些浏览器/平台出现问题?如果是这样,那么下面的一切都无关紧要,但我仍然很好奇。
我有以下vue.config.js
内容,它可以在产品构建中保留属性引号,但会破坏纱线服务。
本地 Vue 版本 2.6.12。@vue/cli 版本 4.5.4。
chainWebpack: (config) => { // chainWebpack grayed out
config.plugin("html").tap((args) => {
args[0].minify.removeAttributeQuotes = false;
return args;
});
},
它似乎没有找到minify
- 我不断得到:ERROR TypeError: Cannot set property 'removeAttributeQuotes' of undefined
解决方案
首先,在缩小的生产版本中从 HTML 中删除属性引号是标准的吗?
它不是标准的,但仍然是有效的 HTML。在生产版本中删除了属性引号以减少 HTML 大小的输出大小,因此如果您在 DEV 环境中(例如在运行时yarn serve
),则对象args[0].minify
为undefined
.
因此,为了在生产构建中保留引号并且在其他环境中不出错,您可以removeAttributeQuotes
按如下方式设置属性(而不是像在代码中那样修改其值):
chainWebpack: (config) => {
config.plugin('html').tap((args) => {
args[0].minify = {
...args[0].minify,
removeAttributeQuotes: false,
}
return args
})
},
推荐阅读
- reactjs - 正确的键使用反应
- google-apps-script - 从单元格获取范围并应用于 getRangeList
- html - 如何阻止子段落在css网格内拉伸父div
- java - Appium - Real Me 3 Pro 设备:禁止获取 java.lang.securityexception adb 清除用户数据
- java - 在 Java 中,如何为扩展 Comparator 的类实现多个比较器方法?
- android-camera-intent - 在 Android 11 R 中,Camera REQUEST_CODE 返回零
- linq - 在 sql 列表中搜索
? - flutter - 如何查找在 FutureBuilder 中呈现的 GridView 的高度
- python - Django Query 在 python shell 上工作,但在模板和表单中不起作用
- apache-spark - spark-shell 的 Apache Hudi 示例为 Spark 2.3.0 引发错误