javascript - expressjs 和 nunjucks 的模板渲染错误
问题描述
本质上,我正在尝试从节点服务器检索闪烁的消息,但我遇到了一个错误,我正在尝试纠正该错误,以便我可以进一步使用我的 Web 应用程序。
我已经尝试修改代码,甚至在 nunjucks 文档的帮助下修复了我的 nunjucks 格式的任何问题。经过检查,似乎我无法从 nunjucks if 表达式中运行“typeof”。
{% if (typeof messages.error != "undefined") %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Oops!</strong> {{ messages.error }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<script>console.log("first");</script>
{% endif %}
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/', function(req, res, next) {
const url = req.body.url;
if (!url.startsWith('https://') && !url.startsWith('http://')) {
req.flash('error', 'That doesn\'t appear to be a valid URL to me.');
}
return;
});
我试图让警报不出现,而不是整个应用程序因错误而崩溃。
Template render error: (e:\Programming\nodejs\invisi.link\views\index.html) [Line 33, Column 23]
parseAggregate: expected comma after expression
at Object._prettifyError (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\lib.js:36:11)
at Template.render (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:542:21)
at e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:366:27
at createTemplate (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:315:9)
at handle (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:327:11)
at e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:339:9
at next (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\lib.js:280:7)
at Object.asyncIter (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\lib.js:286:3)
at Environment.getTemplate (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:321:9)
at Environment.render (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\environment.js:360:10)
at NunjucksView.render (e:\Programming\nodejs\invisi.link\node_modules\nunjucks\src\express-app.js:22:9)
at tryRender (e:\Programming\nodejs\invisi.link\node_modules\express\lib\application.js:640:10)
at Function.render (e:\Programming\nodejs\invisi.link\node_modules\express\lib\application.js:592:3)
at ServerResponse.render (e:\Programming\nodejs\invisi.link\node_modules\express\lib\response.js:1012:7)
at e:\Programming\nodejs\invisi.link\index.js:26:9
at Layer.handle [as handle_request] (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\layer.js:95:5)
at next (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\layer.js:95:5)
at e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\index.js:281:22
at Function.process_params (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\index.js:335:12)
at next (e:\Programming\nodejs\invisi.link\node_modules\express\lib\router\index.js:275:10)```
解决方案
推荐阅读
- mysql - 在 SQL 中,有没有办法通过比较两个表之间的字段来执行 UNION?
- powerbi - 自定义日期表向下钻取问题 Power BI
- django - Django 计划任务
- c# - VB.NET 的@@
Razor 页面中的标签问题 - java - 如何在Java的S3存储桶中删除带有`term/classID/`前缀的文件,名称以`syllabus-`开头
- javascript - 使用 highcharts-export-server 注入变量饼图的问题
- java - 存储应用程序将在重新启动后记住的输入数据的最佳选择
- angular - 如何将 httpClient 注入实例化服务?
- android - Android FirebaseUI:即使只选择了一个提供者也显示一个按钮
- go - 使用字符串和数字对数组进行排序