NodeJs学习笔记
因为Express3.0以上的版本不支持layout了,所以,NodeJs开发指南的blog代码不能用,但是可以通过下面的方法实现
npm install express-partials
partials=require('express-partials');
app.use(partials());
这样就可以使用layout了
详细代码如下
app.js
-------------------------------------------------------
/**
* Module dependencies.
*/
var express =require('express')
, routes =require('./routes')
, user =require('./routes/user')
, http =require('http')
,partials =require('express-partials')
, path =require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT ||3000);
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.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname,'public')));
});
app.configure('development',function(){
app.use(express.errorHandler());
});
/*
开始微博网站的制作。
路由部分
*/
app.get("/",routes.index);
app.get("/u/:user",routes.user);
app.post("/post",routes.post);
app.get("/reg",routes.reg);
app.post("/reg",routes.doReg);
app.get("/login",routes.login);
app.post("/login",routes.doLogin);
app.get("/logout",routes.logout);
/*
路由结束
*/
http.createServer(app).listen(app.get('port'),function(){
console.log("Express server listening on port "+ app.get('port'));
});
---------------------------------------------------------------------------------
routes/index.js
--------------------------------------------------------------------------------
/*
* GET home page.
*/
exports.index =function(req, res){
res.render('index.ejs',{ title:'Express'});
};
exports.hello =function(req,res){
res.send("this time is"+newDate().toString());
}
//微博路由开启
exports.user=function(req,res){
};
exports.post=function(req,res){
};
exports.reg=function(req,res){
};
exports.doReg=function(req,res){
};
exports.login=function(req,res){
};
exports.doLogin=function(req,res){
};
exports.logout=function(req,res){
};
//微博路由结束
--------------------------------------------------------------
views/layout.ejs
--------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<linkrel='stylesheet'href='/stylesheets/style.css'/>
</head>
<body>
<%- body %>
</body>
</html>
---------------------------------------------------------------
views/index.ejs
---------------------------------------------------------------
<h1><%= title %></h1>
<p>Welcome to <%= title %> this is a test</p>