您的位置:首页 > Web前端 > Node.js

Node.js首选web开发框架-Express.js基础教程

2014-12-12 00:00 996 查看
        Express.js是一个非常棒的web应用框架,应用于Node.js项目及大多数基于Node的网络应用。遗憾的是现在尚缺少如何编写生产就绪代码的教程和示例。本文有助于缓解这一需求,我出过一本教材《Express.js指南》(作者介绍:Azat Mardanov),是最受欢迎的Node.js框架操作手册。本文只是简单的入门介绍,在本文的最后有相关链接,是否继续深入学习则由大家自行决定。

[b]安装[/b]

首先确保你下载并安装了Node.js,运行如下命令行:
$ sudo npm install -g express@3.4.3
[b]CLI [/b]

运用命令行接口(CLI)衍伸新的 Express.js应用程序:
$ express -c styl expressfun
$ cd expressfun && npm install
$ node app
打开浏览器,输入网址:http://localhost:3000 。如果你想尝试简单点的Express应用,参考下面的 expressfun/app.js 全代码(v3.4.3版本已到来,不要再用bodyParser了):
var express = require(‘express’);
var routes = require(‘./routes’);
var user = require(‘./routes/user’);
var http = require(‘http’);
var path = require(‘path’);
 
var app = express();
 
// all environments
app.set(‘port’, process.env.PORT || 3000);
app.set(‘views’, __dirname + ‘/views’);
app.set(‘view engine’, ‘jade’);
app.use(express.favicon());
app.use(express.logger(‘dev’));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, ‘public’)));
 
// development only
if (‘development’ == app.get(‘env’)) {
app.use(express.errorHandler());
}
 
app.get(‘/’, routes.index);
app.get(‘/users’, user.list);
 
http.createServer(app).listen(app.get(‘port’), function(){
console.log(‘Express server listening on port ‘ + app.get(‘port’));
});
[b]路由 (router)[/b]

打开expressfun/app.js之后,中间有两个路由:

app.get(‘/’, routes.index);
app.get(‘/users’, user.list);

第一个路由基本上能搞定发送到主页的全部请求 (http://localhost:3000/),第二个路由负责到 /users 的请求(http://localhost:3000/users)这两个路由进程URLs Case-Insensitively,并且都要加上末尾斜杠。请求处理器本身就很简单(本例中index.js):从HTTP发出的所有请求都在req,你在res中编写响应结果:
exports.list = function(req, res){
res.send(“respond with a resource”);
};
中间件

上面有关路由的每一行代码都有一个中间件:
app.use(express.favicon());
app.use(express.logger(‘dev’));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, ‘public’)));
中间件是一个传递参数,用于为请求添加某些有用的信息,比如req.body或req.cookie。 想要获取有关中间件的更多详细介绍,可以阅读之前的文章。

[b] 配置[/b]

 下面是典型的Express.js应用程序默认配置:
app.set(‘port’, process.env.PORT || 3000);
app.set(‘views’, __dirname + ‘/views’);
app.set(‘view engine’, ‘jade’);
常规设置包含一个名称(即视图)和一个值(模板/视图的文件夹路径)。定义这些设定的方法不只一种,用layout.jade也可以:
doctype 5
html
head
title= title
link(rel=’stylesheet’, href=’/stylesheets/style.css’)
body
block content
在Jade模板里可以运用成熟的JavaScript代码。 

总结一下:

通过本文介绍,想必大家都觉得用Express.js设计MVC网页应用程序非常简单了吧。Express.js框架还能很好的创建REST API
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: