【问题标题】:Get and render some file with app.get (node)使用 app.get (node) 获取并渲染一些文件
【发布时间】:2014-09-05 20:28:14
【问题描述】:

你们好吗?

今天我在 Node 中的应用程序方面需要帮助,如果有人可以帮助我,我将不胜感激。

我在我的常规配置文件中设置了路由,我所有的 app.get 都在服务器文件夹内的文件夹视图中呈现文件,就像这样:

SERVER FOLDER
 |
 |- VIEWS FOLDER WITH THE SEVERAL EJS TEMPLATES
 |  |
 |  -- RESERVATIONS.EJS
 |- CONFIGURATIONFILE.JS

所以,只是为了帮助你帮助我.. 我有这个完美运行的示例:

app.get('/reservas', ensureAuthenticated, function(req, res) {
        res.render('reservations');
    });

我的文件配置文件中有这两个配置:

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

现在,真正的问题。

我有一个公用文件夹,它是文件夹服务器的同级文件夹,我有这个 login.ejs,我需要在路由 / 中渲染它,所以我有这个:

app.get('/', function (req, res) {
    res.render('login');
});

但它没有将文件拉到公用文件夹中..

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 好吧,您可以随时将扩展名更改为 ejs 并将其放在您的视图文件夹中。防止您在公用文件夹中以html 获得一些视图,而在您的视图文件夹中以ejs 获得其他视图。
  • 对不起,我使用 login.ejs 哈哈.. 关于移动文件,这不是一个好主意,因为我将服务器和客户端分开..

标签: javascript node.js routes


【解决方案1】:

虽然我不建议这样做......这样的事情会解决你眼前的问题:

res.render('../public/login');

但是,如果您有要在服务器上呈现的视图,您应该将它们保存在同一个位置。如果您有想要在客户端和服务器上共享的视图,您可以使用 grunt、gulp 等将这些视图预编译为位于您的公共文件夹中的单个 js 文件。

【讨论】:

  • 我已经尝试过 res.render('../public/login');,但它似乎不起作用.. =/
猜你喜欢
  • 2014-10-25
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
  • 2017-10-28
  • 2017-09-13
  • 2017-08-29
  • 2013-06-23
  • 1970-01-01
相关资源
最近更新 更多