【问题标题】:Ejs2 include(variable) not workingEjs2包含(变量)不起作用
【发布时间】:2017-06-11 06:04:59
【问题描述】:

Ejs2 文档说可以这样做:

exports.get = function(req, res) {

    res.render('layouts/home', {
        page: '../pages/' + 'home'
    });

};

然后在 layouts/home.ejs 中:

<!-- !PAGE CONTENT! -->
    <div>

        <!-- Sidenav/menu -->
        <% include ../partials/sidebar %>

        <!-- Content -->
        <% include(page) %>

        <!-- Footer -->
        <% include ../partials/footer %>
    </div>

但它写道:

 { [Error: ENOENT: no such file or directory, open 'D:\project\views\layouts\(page).ejs']
      errno: -4058,
      code: 'ENOENT',
      syscall: 'open',
      path: 'D:\\project\\views\\layouts\\(page).ejs' }

我安装了 ejs2。但不知何故,它不起作用。在此之前 ejs1 工作正常。但我没有这个 include(var) 功能。

【问题讨论】:

  • 你能链接到文档吗?

标签: node.js ejs


【解决方案1】:

这可能有点晚了,但我遇到了同样的问题并通过更改解决了它:

<% include(var) %>

<%- include(var) %>

【讨论】:

  • 我会重新检查它,因为我想我也试过了。无论如何,作为一种解决方法,我更改了一般架构,并且在渲染时不包括页面布局文件,而是页面文件夹,其中有一个索引文件,指向一个非常通用的布局,现在包括部分和特定页面的内容,这也在此页面文件夹中。所以制作一个新页面我只需要更改页面内容文件即可。这个布局文件非常通用,所以我不应该在任何重组的情况下修改它。不过还是谢谢你的回答。
猜你喜欢
  • 2010-11-18
  • 2018-02-01
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多