节点Ejs模块,包括不工作

我有一些麻烦,包括一个HTML片段到我的index.html。 我试图遵循,ejs文档,但我似乎无法使其工作。

目录结构:

project -public --assets ---css ---images ---js --Index ---index.html + index.css and index.js --someOtherPageFolder -views --partials ---partials1.ejs --index.ejs --layout.ejs -server.js 

这是我的server.js( ):

 var express = require("express"); var partials = require("express-partials"); var http = require('http'); var path = require('path'); var app = express(); app.get("/", function(req, res) { res.redirect("index"); }); app.configure(function(){ app.set('port', process.env.PORT || 8888); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(partials()); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); http.createServer(app).listen(app.get('port'), function(){ console.log('App listening on port ' + app.get('port')); }); 

这是我的test.ejs:

 <h1>This is test!</h1> 

这就是我想要的html snipp去的地方:

 <div id="sb-site"> <div class=""> <p>Not test</p> <%- include test.html %> </div> </div> 

我究竟做错了什么? 是否也有一种方法让我做到这一点,使用.html而不是.ejs(我使用Eclipse,它不支持.ejs文件)

Express 3打破了ejs部分,而是使用了express-partials

 // Include it like so with your other modules var express = require("express"); var partials = require('express-partials'); var server = express(); // Finally add it into your server conviguration server.configure(function(){ server.set('view engine', 'ejs'); // Include partials middleware into the server server.use(partials()); }); 

在您的.ejs意见,享受这样的豪华…

 <%- include ../partials/header %> <section id="welcome"> Welcome </section> <%- include ../partials/footer %> 

此外,而不是设置ejs模块阅读.html只是按照这个答案得到日食呈现.ejs.html 。 如何获得日食解释.ejs文件为.html?

作为一个例子,这是如何build立一个基本的快递结构…

 project --public --views ----layout.ejs ----index.ejs ----partials ------partial1.ejs --server.js 

server.js看起来像…

 var express = require('express'), partials = require('express-partials'), http = require('http'), path = require('path'); var app = express(); // all environments app.configure(function() { app.set('port', process.env.PORT || 3838); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); // Middleware app.use(partials()); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); http.createServer(app).listen(app.get('port'), function(){ console.log('App listening on port ' + app.get('port')); }); 

你的路线看起来像…

 server.get("/", function(req, res) { res.render("index"); }); 

最后,你的layout.ejs …

 <html> <head> <title></title> </head> <body> <%- body %> </body> </html> 

和index.ejs …

 <div id="index"> <%- include partial1.ejs %> </div> 

如果你需要参考工作的例子, 在这里