#nodejs+Express 开发应用--初始化
更新 4.X 初始化及启动应用
安装 express-generator 替代3.X版本直接使用 express 初始化项目。
$ npm install -g express-generator
初始化应用
使用默认jade模版的名称为myapp的web应用:
$ express myapp
使用ejs模版的名称为myapp的web应用:
$ express --ejs myapp
使用supervisor 调试 应用
$ supervisor ./bin/www
##全局安装express
$ npm install express -g
如果以前已经安装过express的话就不用执行这一步骤了。
##初始化应用 初始化一个支持session,使用ejs模版的名称为myapp的web应用:
$ express --sessions --ejs myapp
执行完毕后根据提示,继续执行
cd myapp
npm install
[注]:express --help 查看express全部的命令
##设置cookie的密钥
在应用根目录下的app.js内,修改your secret here
为自定义的密钥myappsecret
app.use(express.cookieParser('myappsecret'));
##配置路由 express默认的路由方式是在app.js中直接引入各个路由配置, 但是这种方式存在多种不便,建议采用各个路由单独配置。
配置方式是
将各个路由文件作为一个模块,多个路由文件可以组合成一个包,各个路由模块中都将app作为参数传递。
在app.js中仅仅引入一个路由文件,然后向各个路由模块中传递app
/*app.js*/
var routes = require('./routes');
/*other code*/
routes(app);
路由模块中设置一个主路由模块index.js, require('./routes')
即引入routes/index.js
模块
/* *
* routes/index.js
* account为另一个子路由,可以是一个包,或者是一个模块,模块或者包遵循node的模块和包的规则。
*/
var account = require("./account");
module.exports = function(app) {
/*其他路由规则*/
app.all("/",function(req,res){
/*处理请求*/
})
account(app);
/*可以定义其他路由*/
};
account做为一个模块:
/*account作为一个模块*/
var account=require("../controllers").account; //引入相关的controller
module.exports=function(app){
app.get('/account/adminlogin',account.adminLogin);
app.post('/account/adminlogin',account.adminLoginPost);
};
account作为一个包
/**
* account 作为一个路由包
* routes/account/index.js
*/
var user=require("./user"); //require routes/account/user.js
module.exports=function(app){
user(app);
}