nodejs+Express 开发应用--初始化

原创
2014/08/28 20:07
阅读数 4.1K

#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);
}
展开阅读全文
打赏
0
7 收藏
分享
加载中
更多评论
打赏
0 评论
7 收藏
0
分享
返回顶部
顶部