在我的许多EJS页面上,我有以下代码:
<%- include('elements/fbviewpagepixel.ejs') %>
除了这一页外,它完全正常。在那一页上,它给出了一个错误include is not a function
。看起来我能够通过将上面的代码更改为以下代码来修复它:
<%- include elements/fbviewpagepixel.ejs %>
为什么第一个版本适用于除此之外的所有页面?为什么它会在这一页上给我一个错误?这两者之间有什么区别?
答案 0 :(得分:3)
在EJS的更高版本中,“client”参数键被保留,因此会导致此错误。重命名密钥,它将解决您的问题。
答案 1 :(得分:2)
我认为,这个问题来自列表中传递的参数。 我在渲染我的用户时遇到了相同的问题:
res.render("profil-client.ejs", {
client: myClient
});
但是当我重命名我的参数时:
res.render("profil-client.ejs", {
r_client: myClient
});
没有更多错误。我不确定,但我认为ejs使用属性&#34; client&#34;供内部使用。所以我只是重命名我的参数......
答案 2 :(得分:1)
我有同样的问题;我通过删除我的node_modules文件夹并运行一个全新的&gt;来解决这个问题。 npm安装。
希望我能完全告诉你为什么这个固定的东西,但我从这个错误变成了之后运行良好的事情。