【发布时间】:2021-11-30 15:33:04
【问题描述】:
这是我的 webpack 配置的相关部分:
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
hash: false, // for testing purposes
minify: false,
}),
]
尽管有minify: false,但如果mode: 'production',HTML 会变成一行。如果mode: 'development',那么它是多行。如果我更改hash: true,那么它将变成一行带有用于缓存清除的查询字符串哈希,这证明它读取了这个配置对象。
但为什么它会截断换行符?我尝试specify an object并设置collapseWhitespace和其他道具而不是minify: false,但它也没有效果,仍然是一行。以下是 package.json 的版本列表:
"devDependencies": {
"@babel/cli": "^7.14.5",
"@babel/core": "^7.14.6",
"@babel/preset-env": "^7.14.5",
"babel-loader": "^8.2.2",
"babel-plugin-angularjs-annotate": "^0.10.0",
"css-loader": "^5.2.6",
"css-minimizer-webpack-plugin": "3.0.1",
"html-loader": "^2.1.2",
"html-webpack-plugin": "5.3.1",
"mini-css-extract-plugin": "1.6.0",
"postcss": "^8.3.4",
"style-loader": "^2.0.0",
"webpack": "5.39.0",
"webpack-cli": "4.7.2",
"webpack-dev-server": "3.11.2",
"webpack-merge": "^5.8.0"
}
编辑:为了澄清,我指的是 webpack 插入的动态包含之间的换行符的截断,这是对捆绑的 JS 和 CSS 文件的引用。无论是生产版本还是开发版本,所有这些文件都恰好出现在一行中。好像没有办法逐行拆分,好像是人小心插入的一样。
为什么在自己的行中查看每个动态包含很有用?例如,如果您想检查订单。目前唯一的选择是向左/向右滚动并尝试记住屏幕外显示的内容,这比从上到下阅读列表更具认知负荷,所有内容都适合一个屏幕而不滚动。
【问题讨论】:
标签: webpack html-webpack-plugin webpack-production