由于未定义Thymeleaf变量,HTML Webpack插件将无法编译

时间:2017-09-04 08:42:03

标签: webpack thymeleaf html-webpack-plugin

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

这是我的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 个答案:

答案 0 :(得分:1)

这里的错误相同。我找到了this issue你只需要使用'html-loader'这样的webpack:

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

PS:别忘了在使用npm之前安装它;)

答案 1 :(得分:1)

将其放入:

webpack.config

Band

放在index.ejs文件中:

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

答案 2 :(得分:1)

我的解决方法:将$替换为<%="$"%>