我有以下 src 文件夹结构:
/src
+-- /app
| +-- index.js
| +-- /templates
| +-- index.html
| +-- /subfolder
| +-- nested.html
|
+-- /images
| +-- webpack.png
|
+-- /styles
| +-- index.scss
我正在尝试将 webpack 配置为使用 app 文件夹中的模板发出多个 html 文件。最终的构建文件夹结构应如下所示:
/build
+-- /images
| +-- webpack.png
|
+-- /subfolder
| +-- nested.html
|
+-- index.html
+-- bundle.js
+-- styles.css
问题是在构建之后,index.html
并且nested.html
具有相同的图像路径,<img src="img/webpack.png">
这是不正确的nested.html
nested.html
应该有以下路径 - <img src="../img/webpack.png">
。
如何让 webpack 为嵌套的 html 文件设置正确的资产路径?
重现步骤。
- 下载回购
- 安装包
npm install
- 跑
npm run build
根据这个线程,html-loader 没有问题 - https://github.com/webpack-contrib/file-loader/issues/272
Webpack 文档提到组件之间的资产共享,但没有提供示例 - https://webpack.js.org/guides/asset-management/#global-assets
html-loader 选项可能对此有解决方案,但文档对我来说没有多大意义,我无法弄清楚 - https://webpack.js.org/guides/asset-management/#global-assets
我正在关注动态生成 htmlWebpackPlugin 的文章 - https://extri.co/2017/07/11/generating-multiple-html-pages-with-htmlwebpackplugin/