如何解决Webpack、jinja 模板和静态路径
如何将 webpack loader/semi-filter 集成到 jinja 模板中?
我想将 jinja 模板转换为 jinja 模板,但是根据 webpack 配置将静态路径替换为输出路径。基本上是 pug-loader 的 require()
,但对于 jinja。
假设过滤器查询看起来像这样:src="{{ 'path' | webpack }}"
,但它不是真正的 jinja 过滤器,因为在构建时它会被替换为 src='outputPath'
。我应该从哪里开始看? HTMLWebpack 插件? HTML加载器?
我看过的其他 jinja/flask/webpack 相关项目倾向于将 webpack 绑定到flask server 上,而不是更少,这不适合我的情况。
解决方法
据我所知,您正在尝试将静态文件放入 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代码
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。