Vue-Cli:为什么在构建后没有用引号生成index.html?

问题描述

运行npm构建后,将生成./dist/index.html文件,且不带引号。该项目没有 webpack.config.js vue.config.js 。该构建是通过使用vue create创建的示例项目生成的。我该如何解决

<!DOCTYPE html><html lang=en><head><Meta charset=utf-8><Meta http-equiv=X-UA-Compatible content="IE=edge"><Meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/favicon.ico><title>html-project</title><link href=/app.css rel=preload as=style><link href=/app.js rel=preload as=script><link href=/chunk-vendors.js rel=preload as=script><link href=/app.css rel=stylesheet></head><body><noscript><strong>We're sorry but html-project doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/chunk-vendors.js></script><script src=/app.js></script></body></html>

解决方法

那里不需要属性引号(仍然是valid HTML),因此在生产版本中将其删除以减小HTML文件的输出大小。

如果您希望保留引号,则可以按以下方式配置HTML minifier options(即,特别是removeAttributeQuotes

// vue.config.js
module.exports = {
  chainWebpack: config => {
    config.plugin('html').tap((args) => {
      args[0].minify = {
        ...args[0].minify,removeAttributeQuotes: false
      }
      return args
    })
  }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...