EJS不呈现从res.render返回的值

我得到的页面redirect正确,但是当我要在前端列出这个结果的价值是不显示在我的前端视图EJS的命令。 在这里输入图像描述

我试图以几种不同的方式传递输出值,但没有工作…

这是我的根文件。

在这里输入图像描述

我的index.js

var http = require('http'); var express = require('express'), mongoose = require('mongoose'), ejs = require('ejs'), nunjucks = require('nunjucks'), path = require('path'), mysql = require('mysql'), bodyParser = require('body-parser'), methodOverride = require('method-override'), logger = require('morgan'); var errorHandler = require('errorhandler'); app.use(logger('dev')); app.use(bodyParser()); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); import config from "./config/config"; import mongodb from "./config/mongodb"; import passport from "./config/passport"; import * as setup from "./middleware/setup"; import app from "./config/express"; import routes from "./routes"; import User from './models/User'; export function start() { return new Promise((resolve, reject) => { mongodb().then((db) => { let server = http.createServer(app); // save references app.db = db; app.server = server; app.config = config; // init passport passport(app); // register setup check middleware app.use(setup.check); // setup routes routes(app); // start server app.server.listen(config.server.port, (err) => { if (err) { return reject(err); } resolve(app); }); }, reject); }); }; app.set('views', __dirname + '/templates'); app.engine('html', require('ejs').renderFile); var api = express.Router(); app.use('/', api); api.get('/test-ejs', function (req, res) { res.render('test.html', { title: 'Return sucess!' }); }); api.get("/templates",function(req, res){ var path = __dirname + '/templates/'; res.sendFile(path + "index.html"); }); 

我的HTML模板test.html

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Test EJS</title> <meta name="description" content=""> <meta name="author" content=""> <!-- HTML5 shim, for IE6-8 support of HTML elements --> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- styles --> <link href="stylesheets/style.css" rel="stylesheet"> </head> <body> <%= title %> </body> </html> 

感谢帮助我! 的xD

您正在使用.html文件来呈现数据,但在您的app.js中,您已将其定义为app.engine行下的.ejs。

所以要么将.html文件types改为.ejs,要么用你的app.engine行replace

 app.set('view engine', 'html');