我使用模块ejs
来验证来自管理信息中心的ejs模板和变量:
try {
resolve(ejs.render(template, variables))
} catch (error) {
reject(error)
}
如果此模板存在一些问题,则会抛出错误,我可以将其发送给客户端。
另外,我有一个胡须模板来验证。我使用相同的方法:
try {
resolve(mustache.render(template, variables))
} catch (error) {
reject(error)
}
但是mustache
根本不会抛出错误,如果没有变量,它只是用空字符串替换它。
我该如何解决这个问题?需要正确验证模板。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您正在使用mustache.js,则无法在未定义的变量here is an open issue上抛出错误。根据{{3}},这似乎没问题。
默认情况下,变量" miss"返回一个空字符串。这通常可以在您的Mustache库中配置。
因此,如果您确实需要验证没有未定义的变量,那么您将不得不为Mustache使用另一个JS库(如果有的话,我不确定),或者希望他们添加了这个功能。