Nodejs的express使用教程
Express 是一个简洁、灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
1.express组织结构
app demo
|---node_modules------用于安装本地模块。
|---public------------用于存放用户可以下载到的文件,比如图片、脚本、样式表等。
|---routes------------用于存放路由文件。
|---views-------------用于存放网页的模板。
|---app.js------------应用程序的启动脚本。
|---package.json------项目的配置文件。
2..创建express服务器
1
2
3
4
5
6
7
8
9
10
11
|
//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调用中间件的方法,它返回一个函数.
1
2
3
4
|
app.use( function (request, response) {
response.writeHead(200, { "Content-Type" : "text/plain" });
response.end( "Hello world!\n" );
});
|
5.错误内容显示
1
2
3
4
5
6
7
|
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.路径通配符*
.*表示所有路径
1
2
3
|
app.get( "*" , function (request, response) {
response.end( "404!" );
}); //所有路径都返回404
|
.:捕获路径内容
1
2
3
|
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版本号和其他组件的依赖关系
1
2
3
4
5
6
7
8
|
{
"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文件夹,用于存放所有的放网页模板.
1
2
3
4
5
6
|
//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目录寻找这个文件
转载于:https://www.cnblogs.com/exclusiveMemory/p/6611322.html
Nodejs的express使用教程相关推荐
- 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等
内网的linux系统要安装nodejs以及express等系列的框架,因为系统是局域网和互联网是物理隔离的,所以,没法像官网的安装教程那样直接install了,只能手动安装,这里已经我们自己的linu ...
- Nodejs之Express框架
Nodejs之Express框架 Express 简介 安装 Express 第一个 Express 框架实例 请求和响应 路由 静态文件 GET 方法 POST 方法 文件上传 Cookie 管理 ...
- 使用nodejs和express搭建http web服务
文章目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 expre ...
- nodejs库express是如何接收inbound json请求的
这样几行简单的代码创建一个web服务器: var express = require('express'); var app = express(); var server = require('ht ...
- 在nodeJs的Express框架下用TypeScript编写router路由出现import关键字错误的解决方案
在nodeJs的Express框架下用TypeScript编写router路由出现import关键字错误的解决方案 参考文章: (1)在nodeJs的Express框架下用TypeScript编写ro ...
- nodejs框架express之错误中间件(初学)
nodejs框架express之错误中间件(初学) //引入express框架 const express = require('express'); const fs = require('fs') ...
- nodejs框架express之中间件的运用场景(初学)
nodejs框架express之中间件的运用场景(初学) //引入express框架 const express = require('express'); //创建网站服务器 const app = ...
- nodejs框架express之使用中间件(初学)
nodejs框架express之使用中间件(初学) //引入express框架 const express = require('express'); //创建网站服务器 const app = ex ...
- nodejs框架express之创建服务器(初学)
nodejs框架express之创建服务器(初学) //引入express框架 const express = require('express'); //创建网站服务器 const app = ex ...
最新文章
- 全国大学智能车竞赛证书编号规范
- html与css结合动效案例,CSS3制作动画效果例子
- visual studio 调试 定义debug常量_有趣的阅读 12个提高生产力的Visual Studio调试技巧...
- 施一公:带好学生,是特别要紧的事
- html div 转图片或视频投放大屏
- alter procedure是什么意思_板上钉钉的意思
- 中岛美雪音乐合集-原曲流行极品音乐专辑
- mysql 单精度和双经度_***mysql中经度纬度字段用什么存储(关于mysql的float和decimal区别)...
- C++ OpenCV 将黑点框出来
- 一般描绘性形容词_英语中描绘性形容词是指哪种形容词?
- coreldraw x5安装视频教程_图形设计必备软件:CorelDRAW
- Hybrid App开发 四大主流平台
- sql server XML中value(),exists(),nodes()方法
- 开发必备技术--docker(使用篇)
- 【CYH-02】NOIp考砸后虐题赛:数学:题解
- 滑块验证码识别 java版本
- 典型的贪心算法~ (田忌赛马 )
- 谈一谈互联网产品设计阶段的工作流程
- 毕业设计 基于STM32单片机的水箱水位控制系统
- 27、scratch教程-画心形
热门文章
- sersync + rsync 实现文件的实时同步
- 【译】为什么这样宏定义#define INT_MIN (-2147483647 - 1)?
- 一文看懂.NET的各种变体
- Modbus RTU 通信工具设计
- Modular Multiplicative Inverse(模乘逆元)
- [Jmeter系列]Jmeter源码编译步骤(转)
- Linux tmux分屏工具
- 管中窥豹,初探Win RE(Windows恢复环境)
- Larbin简介,及其在Ubuntu10.04下的编译安装
- JavsScript中比较大小总结---基于sort()方法