我收到一个已经具有目录结构的项目。 在此目录结构中,没有“视图”目录(例如在普通的node.js / express应用程序中?)。
请参见下面的结构:
- site
- config
- assets
default.js
development.js
- env
default.js
development.js
- lib
app.js
express.js
logger.js
pug-routes.js
socket.io.js
config.js
- modules
- core
- client
- app
config.js
init.js
- config
core.client.route-filter.js
core.client.routes.js
core-admin.client.routes.js
- controllers
header.client.controller.js
home.client.controller.js
- css
- directives
- services
- views
- server
- controllers
core.server.controller.js
- routes
core.server.routes.js
- views
layout.server.view.html
- website
- client
- css
- img
- js
- server
contact.pug
homescreen.pug
- node_modules
- public
- scripts
package.json
server.js
联系表上有一个邮件功能。一切正常。 但是,当邮件功能成功或失败时,我想获取包含一些信息的模式。模态已经创建。 在以前的应用程序中,我是这样做的:
if (err) {
console.log(err);
res.render('homescreen', {
feedback:
'<span lang="en">Your message cannot be sent.</span>'
});
} else {
console.log('sended');
res.render('homescreen', {
feedback:
'<span lang="en">Your message has been sent.</span>'
});
}
然后在“ homescreen.pug”上:
if feedback
include functions/modal
+createModal({htmlClass: 'feedbackModal', closable: true})
.text-center!=feedback
但是res.render无法正常工作。 res.redirect工作时,它总是会出现错误。 它在res.render上显示此错误:
错误:无法在视图目录“ C:\ Users \ name \ Desktop \ the-new-website”中查找视图“主屏幕”
但是在我的整个项目中没有'views'目录。
这是express.js中的内容:
module.exports.initViewEngine = function (app) {
app.engine('server.view.html', hbs.express4({
extname: '.server.view.html'
}));
app.set('view engine', 'server.view.html');
app.set('views', path.resolve('./'));
当我将app.set('views'...)更改为另一条路径时,它就像是一个无限循环的重定向。
重定向的工作方式如下:
res.redirect('/static/index');
然后我在pug-routes.js中创建了这样的代码:
module.exports = {
'/index': {
template: 'modules/website/server/homescreen.pug'
}
}
那我该怎么做,然后用消息(反馈)重新渲染到homescreen.pug。