一、express的使用

安装express 在根目录下输入 npm install express

引入express的包

const express = require("express");

定义一个app来接收express的返回值

let app = express();

get方法

代码结构:

"use strict";
const express = require("express");
let app = express();
app.get("/", (req, res)=> {
res.send("<h1>这是标题</h1>");
})
app.listen(8888, ()=> {
console.log("正在监听8888");
})

参数一:url后的路径, url后面有/的都可以执行   127.0.0.1:8888/

参数二:回调函数  res.send()可以直接将内容发送到浏览器,发送完毕断开连接,send包含了write和end两个操作,使用起来更加方便。

参数一为"/*":表示匹配到的所有的url路径,都会执行里面的代码,这样,我们就需要在回调函数中增加一个参数 next,next跳转到下一个路由,如果没有next,则浏览器会一直处于等待的状态,有了next,执行完这里的get以后,会继续执行后面的get。因为这一执行顺序,我们可以在这里设置res的属性,那么执行后面get的时候,也可以使用res的这个属性。

app.get("/*", (req, res, next)=> {
req.aa = "abc";
//为req增加属性,可以在下面被访问
next(); //跳转到下一个路由
}) app.get("/", (req, res)=> {
res.send("<h1>这是标题</h1>" + req.aa);
})

我们还可以通过status来设置状态码

app.get("/*", (req, res)=> {
//让状态码变成404
res.status(404).send("通配符");
})

例如参数一为“/login”  ,那么要想访问到页面就需要在路径中加入“/login”, 127.0.0.1:8888/login

获取url中的参数:

  1. req.query

    使用query来获取参数,要求url中参数的写法必须为127.0.0.1:8888?name="zs"&id=1,我们可以用res.query.id来获取到id属性值

app.get("/", (req, res)=> {
console.log(req.query);
console.log(req.query.id);
console.log(req.query.name);
res.send("访问博客");
})
  1. req.params

    使用query来获取参数,要求url中参数的写法必须为127.0.0.1:8888/zs/1

app.get("/:uesr/:id", (req, res)=> {
console.log(req.params);
res.send("啦啦");
})

post方法

post方法和get方法用法差不多,这里只做简单演示

app.post("/login", (req, res)=> {
req.send("这是登录");
})

all方法

all将post和get合二为一,具体用法:

"use strict";

const express = require("express");
let app = express();
app.all("/login", (req, res)=> {
if(req.method.toLocaleLowerCase() === "get") {
res.send("这是get请求");
}else if(req.method.toLocaleLowerCase() === "post"){
res.send("这是post请求");
}
}) app.listen(8888, ()=> {
console.log("正在监听8888");
})

req.method用来获取请求的方式,可能为GET、POST、PUT、HEAD等,可以把它转换为小写与get、post比较

express框架的更多相关文章

  1. Node.js、Express框架获取客户端IP地址

    Node.js //传入请求HttpRequest function getClientIp(req) { return req.headers['x-forwarded-for'] || req.c ...

  2. Win8.1 安装Express 框架

    1.安装Windows Node.js客户端 2.安装Express框架 我本机是Win8.1的,使用命令npm install -g express安装Express,安装完成后显示一些安装明细,刚 ...

  3. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  4. Node.js Express 框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  5. express框架路由配置及congtroller自动加载

    express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模 ...

  6. nodejs学习笔记二:解析express框架项目文件

    上一章介绍了如何去创建一个express框架的工程项目,这章介绍一下express框架下的文件和用法解析,上一张我们创建的工程项目结构图如下: models是不属于原工程项目结构,为了实现数据模型后添 ...

  7. nodejs学习笔记一:安装express框架并构建工程目录

    偶遇node是在一个阳光明媚的上午,无意间打开博客看到一片关于nodejs的介绍,通读全篇后,心情跌宕起伏,哎呀,这么好的东西我竟然现在才知道,这是最气的,于是马上开始制定学习nodejs计划,好了, ...

  8. Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)

    具体步骤: 1.安装开发工具WebStorm: 2.安装node/npm(下载地址:https://nodejs.org/download/)选择适合你的xxx.mis安装: 3.安装express框 ...

  9. express 框架之session

    一.什么是session? 最近在学习node.js 的express框架,接触到了关于session方面的内容.翻阅了一些的博客,学到了不少东西,发现一篇博文讲的很好,概念内容摘抄如下: Sessi ...

  10. 从零开始学习Node.js例子四 多页面实现数学运算 续一(使用connect和express框架)

    1.使用connect框架 .use方法用于绑定中间件到connect服务器,它会配置一系列在接到请求时调用的中间件模块,此例中我们要配置的中间件有favicon logger static rout ...

随机推荐

  1. jdk 环境变量配置

    环境变量:Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\binCLASSPATH .;%JAVA_HOME%\lib;JAVA_HOME D:\java\jdk1.5.0_ ...

  2. php class

    一个类可以包含有属于自己的常量,变量(称为"属性")以及函数(称为"方法"). $ 变量--专业术语上称它为"属性".  function ...

  3. CodeForces 261B Maxim and Restaurant 解法汇总

    题意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a3-+ai,问满足Si<=p的i的最大值的期望.(p<=50) 这道题在网上有一些不同 ...

  4. JavaScript系列文章:自动类型转换-续

    在上一篇文章中,我们详细讲解了JavaScript中的自动类型转换,由于篇幅限制,没能覆盖到所有的转换规则,这次准备详细讲解一下. 上次我们提到了对象类型参与运算时转换规则: 1). 在逻辑环境中执行 ...

  5. gprs/gsm 在linux下的应用

    之前有篇随笔整理了一种在裸机下用状态机+超时的机制来操作gprs/gsm,linux下就不需要了,本身有完善的调度机制,在等待的流程中直接sleep就行了. 下面是飞凌OK6410下的 demo, 其 ...

  6. api签名

    当你提交以上信息时,办公逸将发送GET请求到填写的URL,GET请求将携带四个参数, 参数 描述 是否必带 signature 办公逸签名,signature结合了企业填写的token,请求中的tim ...

  7. jvm--1.class文件结构

    1.字节码(1)bytecode是构成平台无关性的基石 (2)当jvm发展到1.7-1.8的时候,jvm设计者通过,JSR-292,基本可以让其他语言运行在jvm上面. 如,Clojure , Gro ...

  8. kali安装vmtools问题

    切记使用此法,一定要确保kali没有装过vmware workstation自带的vmware_tools,不然要卸载之后才能使用.我当初就是安装了后使用此法,不能成功,卸载也不行,导致完全重装 安装 ...

  9. Android Studio Error:CreateProcess error=216

    Error:CreateProcess error=216, This version of %1 is not compatible with the version of Windows you' ...

  10. C#在函数内部获取函数的参数

    foreach (var parameter in typeof(类名).GetMethod("方法名").GetParameters()) { Console.WriteLine ...