按功能组织项目时如何渲染?

时间:2019-03-16 17:45:42

标签: node.js express ejs

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

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

res.render("../auth/login"); //大概是我们在视野中,所以我们上去然后进行auth / login.ejs

在login.ejs里面,我必须做:

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

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

1 个答案:

答案 0 :(得分:0)

express用于模板的文件夹称为 views ,默认情况下启用:

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

如果您想设置多个表示要查找视图的位置,可以通过以下方式进行操作:

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

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

如果要设置多个文件夹,则可以多次调用app.set,也可以将一系列文件夹传递给app.set

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

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

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

<%- include 'foo' %>

<%- include 'bar' %>

This问题是您解决问题的很好参考。