node.js - 在没有客户端框架的情况下使用 Webpack 和 Express.js 时如何要求资产?
问题描述
我正在编写一个没有任何客户端框架(如 React、Vue 或 Angular)的标准 express.js 应用程序。HTML 模板像这样从服务器呈现:
app.get('/', function (req, res) {
res.render('index') // template engine ejs
})
app.get('/about', function (req, res) {
res.render('about') // template engine ejs
})
我正在使用 Webpack 构建我的静态资产,例如 javascript 文件、css 文件和图像。
问题:如果资产文件的名称中包含哈希码,我如何在我的 HTML 模板中使用资产。例如sample.a23ijafj.jpg
.
由于在文件被编辑时哈希码总是会改变我不能只使用生成的文件名:
<img src="sample.a23ijafj.jpg" />
解决方案
尝试使用这个 Webpack 插件: https ://www.npmjs.com/package/html-webpack-plugin
有了这个,您可以创建 HTML 模板以与您的其他资源一起生成。我自己并没有真正使用过它,但它似乎有足够的文档来解决你的问题。
推荐阅读
- apache - kylin 可以在 machine1 上的 ubuntu(无 hdfs)上安装连接到另一台机器上的 Hbase 和 Hive 吗?
- eclipse - 链接.createLink(位置,IResource.NONE,空);
- pandas - 如何对熊猫数据框的日期索引进行排序,以便在图表上绘制时所有较新的年份日期都位于 X 轴标签的一侧
- google-oauth - OAuth 同意屏幕显示问题
- php - 检查文本是否为表情符号的功能无法识别所有表情符号
- python - Python:代码在循环中的异常期间未运行
- aem - 在轮播中使用时,来自 DAM 资产的视频不会内联播放
- sql - 计算每日使用量的补充
- javascript - 如何将下拉列表值作为参数传递给函数
- android - 如何在 Google 的新 Places SDK 客户端中查询“findCurrentPlace”?我想添加自定义半径并输入搜索附近的地方