不能手动复制index.html到dist,因webpack不解析html中的资源路径,开启hash后写死的文件名会404;dev-server从内存读html而非磁盘;多入口时未控制chunks会导致所有js注入同一页面。

Webpack 本身不打包 HTML,直接把 index.html 手动丢进 dist 目录一定会出问题:资源路径错、hash 文件名对不上、多页 chunk 注入混乱——必须用 html-webpack-plugin 自动生成并注入。
为什么不能手动复制 index.html 到 dist
Webpack 默认只处理模块化依赖(JS/CSS/图片等),index.html 被当作静态资源原样复制,不会解析里面的 <script src="bundle.js"></script>。一旦开启 hash(如 main.a1b2c3.js),HTML 里写死的 main.js 就 404;开发时 webpack-dev-server 从内存读 HTML,磁盘文件根本没被加载;多入口场景下,不控制 chunks 会导致所有 JS 全塞进一个页面。
使用 Puppeteer + Chrome 将 HTML 渲染为中文 PDF,自动处理图表等待、Tab 展开、动画、测高、白边消除、防分页,适用于看板、报表、网页和交互图表转 PDF。
-
output.filename带 hash 时,HTML 中引用名必须动态匹配 - 开发服务器不读磁盘
dist/index.html,而是靠插件在内存中生成 -
inject: true是默认行为,但若设为false,就得手动写模板语法
html-webpack-plugin 最小可用配置
只需三步:安装、引入、实例化。模板路径必须相对于 webpack.config.js,不是 src 目录;filename 决定输出名,template 决定源文件。
- 安装:
npm install --save-dev html-webpack-plugin - 配置中
template: './src/index.html'—— 注意是单引号+相对路径 -
inject: 'body'表示 script 插入
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










