【问题标题】:How do you render when organising project by feature?按功能组织项目时如何渲染?
【发布时间】:2019-03-17 19:23:09
【问题描述】:

我已经更改了项目的结构,现在我按功能对内容进行分组。而不是将所有路由放在“Routes”中,将所有控制器放在“控制器”中,等等。

我发现新方法要好得多,但我发现要渲染本地文件,因为它不再位于“views”文件夹中,我必须这样做:

res.render("../auth/login");// 大概我们在views中所以我们上去然后auth/login.ejs

在 login.ejs 中我必须这样做:

<%include ../views/partials/header %>

这是按功能使用项目结构时要遵循的方式吗?

【问题讨论】:

标签: node.js express ejs


【解决方案1】:

express 用于模板的文件夹名为views,默认启用:

app.set('views', './views'); //this code runs when you call: var app = express();

如果你想设置多个位置,express 会寻找 views,你可以通过调用:

app.set('views', __dirname + '/foo');

现在,express 将在 viewsfoo 文件夹中查找要使用的模板。

如果要设置多个文件夹,可以多次调用app.set,或者干脆将文件夹数组传递给app.set

app.set('views', [__dirname + '/foo', __dirname + '/bar']);

现在,express 将在 viewsfoobar 文件夹中查找模板。

假设您在foo 文件夹中有foo.ejs,在bar 文件夹中有bar.ejs。您可以像这样访问这些模板:

<%- include 'foo' %>

<%- include 'bar' %>

This question 是您的问题的一个很好的参考。

【讨论】:

  • 哦,我想我明白你现在在说什么了。您是否尝试更改保存 ejs 模板的文件夹?
  • @JavierGuzman 我为我的问题添加了更新。我希望这会有所帮助!
  • 我以为会有另一种方法,但我会按照你所说的去做!谢谢简
猜你喜欢
  • 2020-09-17
  • 2018-03-16
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2020-11-18
  • 2020-03-26
  • 1970-01-01
相关资源
最近更新 更多