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
[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
相关文章推荐
- Ubuntu下搭建NodeJS+Express WEB开发框架
- Express 基于 Node.js 平台,快速、开放、极简的 web 开发框架。
- express(基于 Node.js 平台,快速、开放、极简的 web 开发框架)
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)
- Express 4.x Node.js的Web框架
- 如何选择Node.js Web开发框架?
- 教你如何选择Node.js Web开发框架?
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)
- (pomelo系列入门教材)深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- 【Node.js基础篇】(八)安装Express 3.2框架以及ejs模板
- 零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
- NodeJS+Express3.2.2+MongoDB开发教程
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- Express作为Node.js的开发框架
- NodeJS+Express开发web,为什么中文显示为乱码
- Node.js Web 开发框架大全《中间件篇》
- Express 4.x Node.js的Web框架
- Node.js开发之Express框架安装
- Node.js Web 开发框架大全《中间件篇》
- 基于node.js+Express.js+Jade+MongoDB开发Web即时聊天系统