这是我的 webpack 配置的相关部分:
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
hash: false, // for testing purposes
minify: false,
}),
]
尽管如此minify: false
,如果mode: 'production'
. 如果mode: 'development'
,那么它是多行。如果我更改hash: true
,那么它会变成一行,其中包含用于缓存清除的查询字符串哈希,这证明它读取了此配置对象。
但为什么它会截断换行符?我试图指定一个对象和集合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 文件的引用。无论是生产版本还是开发版本,所有这些文件都恰好出现在一行中。似乎没有办法将它们逐行拆分,就好像它们是人类小心插入的一样。
为什么将每个动态包含在自己的行中很有用?例如,如果您想检查订单。目前唯一的选择是向左/向右滚动并尝试记住屏幕外出现的内容,这比从上到下阅读列表更具认知负荷,所有内容都适合一个屏幕而不滚动。