【问题标题】:EJS can't render template given as a variableEJS 无法呈现作为变量给出的模板
【发布时间】:2018-03-24 19:52:24
【问题描述】:

我的项目结构

index.js
views
   ------partials
             --------login
             --------footer
   ------pages
            ---------index

现在我正在通过

渲染 index.ejs
res.render('pages/index',{template:'../partials/login'})}

在 index.ejs 我有

<% include (template) %>

我收到此错误Error: Could not find include include file.

我已将视图缓存设置为 false。这些是我的项目依赖项

"dependencies": {
"ejs": "^2.5.7",
"express": "^4.16.3",
"express-generator": "^4.16.0"}

我尝试给绝对路径不起作用。有什么建议吗?

【问题讨论】:

标签: javascript node.js express ejs


【解决方案1】:

我认为的问题是,您将模板作为字符串包含在内,并且将其放在括号中。试试这样:

<% include ../partials/login %>

我认为它是按原样阅读的:

<% include ('../partials/login') %>

试试看。我很确定它会起作用,因为您拥有最新版本的依赖项。请告诉我这是否有帮助。

【讨论】:

  • includes in the docs 的语法表明括号是预期的。如果你在它周围加上引号,那么它就变成了一个字符串文字,问题是关于使用一个变量。
  • 所以也许你需要这样做:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-22
  • 2017-07-28
  • 2019-06-25
  • 2014-04-14
相关资源
最近更新 更多