nodejs的express使用介绍

转载 2016年05月30日 16:34:04

http://blog.sina.com.cn/s/blog_ad0672d60101l2lx.html

1.express组织结构

app demo
|---node_modules------用于安装本地模块。
|---public------------用于存放用户可以下载到的文件,比如图片、脚本、样式表等。
|---routes------------用于存放路由文件。
|---views-------------用于存放网页的模板。
|---app.js------------应用程序的启动脚本。
|---package.json------项目的配置文件。

2..创建express服务器

//app.js文件
var express = require('express');
var app = express();

//指定更目录显示的内容
app.get('/', function(req, res){
res.send('Hello World');
});

//指定监听端口
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});

运行nodejs应用程序
/>node app.js

3.中间件
中间件(middleware)就是处理HTTP请求的函数.
当一个HTTP请求进入服务器,服务器实例会调用第一个中间件,完成后根据设置,决定是否再调用下一个中间件.

中间件的参数为:
.四个的时候---第一个为错误处理,第二个为客户请求request,第三个为服务器响应respond,第四个为next中间件. 如function(error, request, response, next){}
.三个的时候---第一个客户请求request,第二个为服务器响应respond,第三个为next中间件. 如function(request, response, next){}
.两个的时候---第一个客户请求request,第二个为服务器响应respondfunction. 如function(request, response){}

4.使用中间件use
use是express调用中间件的方法,它返回一个函数.

app.use(function(request, response) {
response.writeHead(200, { "Content-Type": "text/plain" });
response.end("Hello world!\n");
});

5.错误内容显示
app.use(express.bodyParser());//使用body参数
app.use(express.methodOverride());//使用函数覆盖
app.use(app.router);//使用路由
app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});//错误内容显示

6.路由
express路由的方式有多种,这里举例常用的几种:

.app.use('/', middleware);//get/post时,对于路径/的处理
.app.get("/", middleware);//http中get时,对于路径/的处理
.app.post("/", middleware);//http中post时,对于路径/的处理
.app.put("/", middleware);//http中put时,对于路径/的处理
.app.delete("/", middleware);//http中delete时,对于路径/的处理

7.路径通配符*

.*表示所有路径
app.get("*", function(request, response) {
response.end("404!");
});//所有路径都返回404

.:捕获路径内容
app.get("/hello/:who", function(req, res) {
res.end("Hello, " + req.params.who + ".");
});//如"/hello/alice”网址,网址中的alice将被捕获,作为req.params.who属性的值


8.设置环境变量set

set用于指定变量的值.
app.set("view engine", "ejs");//使用ejs作为模版

9.response对象方法

.重定向redirect
response.redirect("/hello/anime");//重定向到/hello/anime

.发送文件sendFile
response.sendFile("/path/to/anime.mp4");

.渲染网页模板render,即把变换的内容加载到网页.
response.render("index", { message: "Hello World" });//将message变量传入index模板,值为"Hello World"渲染成HTML网页

10.requst对象方法

.获取客户ip地址:request.ip

.获取上传的文件:request.files

11.启动脚本package.json
package.json用于指定app信息,nodejs版本号和其他组件的依赖关系

{
"name": "demo",
"description": "My First Express App",
"version": "0.0.1",
"dependencies": {
"express": "3.x"
}
}

12.app入口app.js

app.js主要包含http的创建,基本路由,监听端口号

13.动态网页模板views
views文件夹,用于存放所有的放网页模板.

//app.js
app.get('/', function(req, res) {
res.render('index',{title:"最近文章"});
});

//index.js
this is <%=title%>!

14.指定静态网页目录

//app.js
app.use(express.static('public'));//指定静态网页目录,当浏览器发出非HTML文件请求时,服务器端就到public目录寻找这个文件

如:<link href="/bootstrap/css/bootstrap.css" rel="stylesheet">, 服务器端就到public/bootstrap/css/目录中寻找bootstrap.css文件

15.最重要的
非常感谢这个作者:http://javascript.ruanyifeng.com/nodejs/express.html

Nodejs的Express框架简单使用

一、什么是ExpressExpress就是一个为nodejs设计的web开发框架,它基于nodejs平台,本身功能极简,灵活,它提供了一系列强大的特性来帮助创建各种web和移动设备应用 。 特点: ...
  • Sophie_U
  • Sophie_U
  • 2016年11月02日 00:08
  • 3864

nodejs中express 入门小实例

express结构:MVC 安装方法:不再累赘,请点击这里 入门实例①:Hello World!
  • qq_28666081
  • qq_28666081
  • 2016年07月30日 11:53
  • 3927

使用Nodejs的Express框架快速地创建一个网站

Nodejs是近几年特别火的技术,它是运行在服务器上的JavaScript的开发平台,在服务器端堪与PHP、Python、Perl、Ruby平起平坐,在某些方面甚至可以做得比它们更好 废话就不多说了...
  • qq_33202048
  • qq_33202048
  • 2017年02月18日 16:26
  • 301

NodeJs express自定义中间件

用过express 的开发者,想必一定用过中间件。本文就就说一下自定义的中间件。 一,先看下中间件的使用。 1访问文件的中间件 express-static const express = requi...
  • u014452812
  • u014452812
  • 2017年10月11日 18:19
  • 243

Nodejs Express目录结构

Express是一个基于Node.js平台的极简、灵活的web应用开发框架。在前面我们已经详细介绍了Express的安装,下面详细讲解下Express4.12.4的目录结构,方便我们以后Express...
  • xiaoxiaoqiye
  • xiaoxiaoqiye
  • 2016年04月15日 11:26
  • 641

Express中的res.locals这个方法一般用在哪些场景中?

1.   res.locals是一个对象,包含用于渲染视图的上下文 2.   用来存储一些全局变量什么的, 3.   在模板中可以直接使用,如:       res.locals.massage...
  • kuangruike
  • kuangruike
  • 2016年09月22日 11:26
  • 1219

Nodejs express之静态资源

静态资源包括hml、css、js、jpg等 express也是使用了中间件来处理静态资源,使用也是非常简单: // 导入express模块 var express = require('expres...
  • pretent
  • pretent
  • 2015年04月18日 00:03
  • 5234

使用 NodeJS+Express+MySQL 实现简单的增删改查

本文转载自 http://www.jianshu.com/p/0a161f341771 使用 NodeJS+Express+MySQL 实现简单的增删改查 作者 sprint ...
  • juicerun
  • juicerun
  • 2017年05月18日 07:58
  • 1786

在Node.js环境下使用Express创建Web项目

序:如果你还不知道Node.js是什么,那么你可以先看看这篇:Node.js 究竟是什么?或者任何关于它的介绍。   一、安装Node.js   1.进入Node.js官网下载...
  • hearain528
  • hearain528
  • 2015年05月03日 18:10
  • 5054

nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例3

CREATE OUR DB AND READ STUFF FROM IT  创建数据库并从中读取数据    A: 安装MongoDB数据库      We're leaving our text ed...
  • sunchunmei555
  • sunchunmei555
  • 2013年10月15日 16:06
  • 33272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nodejs的express使用介绍
举报原因:
原因补充:

(最多只允许输入30个字)