html - Webpack、jinja 模板和静态路径
问题描述
如何将 webpack 加载器/半过滤器集成到 jinja 模板中?我想将 jinja 模板转换为 jinja 模板,但是根据 webpack 配置将静态路径替换为输出路径。基本上是 PUG-loader 的require()
,但对于 jinja。
假设过滤器查询看起来像这样:src="{{ 'path' | webpack }}"
,但它不是真正的 jinja 过滤器,因为在构建时它会被替换为src='outputPath'
. 我应该从哪里开始看?HTMLWebpack插件?HTML加载器?我查看的其他 jinja/flask/webpack 相关项目倾向于将 webpack 更多地而不是更少地绑定到烧瓶服务器,这不适合我的情况。
解决方案
据我了解,您正在尝试将静态文件放入 jinja 模板中,但是使用 webpack 为您制作的所有内容,包括文件名中的哈希,我只知道一个解决方案:
您应该使用 htmlWebpackPlugin 在您的模板中注入脚本,如下所示:
new htmlWebpackPlugin( template: 'your/template/path', inject: false )
然后在你的模板中使用 webpack 的模板自动注入脚本:
... <script defer src = <%= `"{{url_for('static', filename ='${(htmlWebpackPlugin.js}).toString().split('/').pop()}')}}"` %>
此方法只是将一些 js 代码插入到模板中,为您执行此类注入,如果您想要更多静态文件,只需使用相同的方法,但使用另一个 js 代码
推荐阅读
- python - Python 在 Windows 10 中有 2 条路径
- typescript - 是否可以在 TypeScript 中定义一个表示具有一个参数而没有“任何”参数的函数的类型?
- python - 无法在单行中将内容写入 csv
- flutter - 颤动的未来
与未来 与无效 - solr - Solr - 日期查询
- hyperledger-fabric - 如何允许删除结构 CA 中的身份
- python - 二维数组匹配和重新排序具有约束的矩阵中的整数元素
- css - Visual Studio Code 不会格式化 CSS 文档
- django - 我得到了 msg can't fork 因为你拥有这个存储库,同时将代码共享给另一个 git 帐户,同一项目上的多个开发人员
- automated-tests - 如何在空手道 DSL 框架中使用 PATH 处理 URL 中的参数?