javascript - 如何在开发中的任何路线上提供 HtmlWebpackPlugin 的 index.html 版本?
问题描述
阅读此问题后,我了解到 HtmlWebpackPlugin 提供了index.html
http://localhost:8080/index.html 的内存版本,并将捆绑包(在我的情况下为vendors.js
和app.js
)注入到文件中。
我index.html
准备了一个模板,/src
其中就是:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="app"></div>
<!-- htmlwebpackplugin scripts should inject below -->
</body>
</html>
当我访问主页时,http://localhost:8080
我在 HTML 检查器中得到这个是正确的:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="app"></div>
<!-- htmlwebpackplugin scripts should inject below -->
<script src="/vendors.js"></script>
<script src="/app.js"></script>
</body>
</html>
但是,如果我直接在我的应用程序中访问另一条路http://localhost:8080/shop
由(由 Node/Express 作为服务器端渲染提供服务),那么我会在 ` 标签底部获得index.html
没有捆绑文件的原始版本。.js
如果 HtmlWebpackPluginindex.html
只在根目录和内存中提供服务,那么它如何作为 Node/Express 向浏览器发送 HTML 的模板呢?Node/Express 通过查看和使用磁盘上的文件来处理路由,src/index.html
而无需 HtmlWebpackPlugin 创建的注入包。
简单的答案是手动添加vendor.js
和app.js
进入src/index.html
,但会弄乱生产构建,因为它包含对生产中不存在的这些开发文件的引用(它们存在,但带有散列名称)。
我错过了什么/做错了什么?
解决方案
推荐阅读
- three.js - 让一个物体追逐另一个物体
- python - python - 如何将列表中的每个项目附加到Python列表中的列表中?
- c++ - 是什么污染了这里的全局命名空间?
- reactjs - 尝试使用 openlayers、Golden Layout、reactjs。但是 openlayers 地图仅显示在黄金布局的 1 个窗口中,而不显示在其他窗口中
- mongodb - MongoDB,如何选择合适的设计?
- azure - 如何将具有多个资源的 Terraform 模块导入其他状态 - Azure
- java - 如何从另一个类更改paintComponent的颜色
- vba - VBA Visio 即时更改功能区值
- excel - 如何从 Excel 单元格中动态提取姓氏?
- sql - 查询table1的所有列left join和table2的count