怎么让 html-webpack-plugin 不执行模板的 ejs 语句, 而是保持原样?

发布于 2022-09-07 08:30:41 字数 501 浏览 11 评论 0

如 我模板文件中有一句 ejs

<body>
  <% if (user) { %>
    <h2><%= user.name %></h2>
  <% } %>
</body>

webpack.config.js

new HtmlWebpackPlugin({
  filename: '../views/index.html',
  template: './src/templates/index.html'
})

直接执行的话就会报错 ReferenceError: user is not defined

但是我想 html-webpack-plugin 不执行 template 中的 ejs 语句而是保持原样输出。

那么怎么可以保持原样输出?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人迟暮 2022-09-14 08:30:41
<% if (user) { %>
    <h2><%= '\<%= user.name%\>' %></h2>
<% } %>

哈哈哈,完美解决。
我已也是遇到这个问题,查了好久。
最后找到答案在这
https://www.lodashjs.com/docs...

長街聽風 2022-09-14 08:30:41

请问是想要取消html-webpack-plugin 自带的ejs模板功能?
可以尝试使用html-loader
demo: {test:/.html/, loader:'html-loader'} //当然,别的模块加载器也可以
然后插件模板使用.html做后缀
new HtmlWebpackPlugin({ template: 'xxx.html', filename: 'xxx.html'})
这样你的.html 就会交给html-loader 处理,而不是使用默认的ejs 处理

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文