0
我使用Jade模板引擎來替換我的變量替換:;我曾嘗試以下:無法在節點快速查找玉視圖
var express = require('express');
var jade = require('jade');
var router = express.Router();
router.get('/test', function (req, res, next) {
var html= res.render(jade.renderFile('test', {"message": "test1", "title": "test2"}));
res.render(html);
});
module.exports = router;
和下面是我test.jade:
html
head
title= title
body
h1= message
,但我一直如下因素的錯誤:
消息:
> "Failed to lookup view
> "<html><head><title>test2</title></head><body><h1>test1</h1></body></html>"
> in views directory "C:\node\myProj\views"",
阿洛斯這裏是我在我的app.js中設置玉器:
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.engine('jade', require('jade').__express);
那麼我做錯了什麼?任何幫助表示讚賞...
更新爲使用res.render:
更新使用app.render:
所以我改變了我的路線:
var express = require('express');
var router = express.Router();
var app;
module.exports = function (_app) {
app = _app;
return router;
}
router.get('/test', function (req, res, next) {
app.render('test', {"message": "test1", "title": "test2"}, function(err, html){
res.render(html);
});
});
和現在我在app.js以這種方式進行測試:
var test = require('./routes/test');
app.use(test(app));
現在,它給了我:
> "Failed to lookup view
> "<html><head><title>test2</title></head><body><h1>test1</h1></body></html>"
> in views directory "C:\node\myProj\views""
雖然res.render正常工作:
res.render('test', {"message": "test1", "title": "test2"});
感謝完整的解釋! – user385729
又一個佇立;如果我想要使用替換的變量呈現字符串? – user385729
換句話說,我不想用被替換的呈現模板作爲響應對象數據;實際上,我想要替換並呈現html字符串並將其作爲電子郵件發送....因此,我希望將結果作爲 – user385729