当前位置: 首页 > 知识库问答 >
问题:

HTML网页包插件将不会编译,因为未定义Thymeleaf变量

丌官瀚
2023-03-14

当Webpack编译包含以下HTML的我的应用程序时,它会抱怨主题变量未定义

这是我的index.html文件:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
</head>
<body th:class="${theme}">
    <div id="root"></div>
</body>
</html>

这是我得到的错误:

Failed to compile.

Error in Template execution failed: ReferenceError: theme is not defined

- loader.js:4 eval
/src/main/resources/templates/index.html?./~/html-webpack-plugin/lib/loader.js:4:10

共有3个答案

帅煌
2023-03-14

把这个放进去:

网页包。配置

new HtmlWebpackPlugin({
     template: './index.ejs',
     filename: './index.html',
     minify: { collapseWhitespace: true },
     csrf: '${_csrf.token}',
}),

在您的index.ejs文件中放入:

<meta name="_csrf" th:content="<%= htmlWebpackPlugin.options.csrf %>"/>
谢誉
2023-03-14

这里也有同样的错误。我发现了这个问题,您只需让Web包使用“html加载程序”,如下所示:

new HtmlWebpackPlugin({
    template: '!!html-loader!index.html'
})

PS:在使用npm之前不要忘记安装它;)

乜安志
2023-03-14

我的解决方法:将$替换为

 类似资料:
  • 我的项目运行良好,但在安装react-redux和redux后,我无法启动该项目,它向我显示了此错误 未能编译。 Webpack不是一个函数 NPM ERR!这可能不是npm的问题。上面可能有额外的日志输出。 ternimal中错误的屏幕截图

  • 我使用Thymeleaf处理html模板,我了解如何从控制器中附加内联字符串,但现在我想在页面中附加一段html代码。 例如,让我们留在我的java应用程序中: 我需要在html页面中写些什么,以便用“n”变量替换它,并作为html代码处理,而不是将其编码为文本?

  • 问题内容: 在jQuery的核心风格指南建议两种不同的方法来检查一个变量是否被定义。 全局变量: 局部变量: 特性: 为什么jQuery为什么对全局变量使用一种方法而对局部变量和属性使用另一种方法? 问题答案: 对于未声明的变量,将返回字符串文字,而身份检查将触发错误 “未定义foo” 。 对于局部变量(您 知道 已在某处声明),不会发生此类错误,因此进行身份检查。

  • 问题内容: 我正在重写帖子以使其更清晰 我有一个具有以下操作的HomeController SuperMapModel是具有2个视图模型的超类-scM用于搜索面板部分控制-saVM用于MapDetailList部分控制 在页面上加载SuperMapModel传递给View,该View将各自的模型传递给每个部分控件 我的MapDetails部分控制非常复杂,因此我提供了一个简化的版本 setResu

  • 我尝试在我的IntelliJ IDE下设置Maven项目。然而,当我尝试更新pom时。xml文件,我收到这个错误。我尝试删除用户下的.m2存储库,并在Maven构建工具下进行了更改。然而,这个问题似乎没有得到解决。

  • 问题内容: 我是编程新手,很难弄清楚这个错误: 这是整个程序。我敢肯定答案是非常简单的,但对于我的一生,我无法弄清楚。 问题答案: 该变量已被定义为循环的一部分。只需删除以下行: