Node.js中的express模块

前言

在我们写一个node项目,搭建服务器时,用原生的方法写,最让人头疼的是静态私服,虽说差不多都一样但当你页面多时,cv也是一个费时的事情,而且代码量太多,看的眼花。这时候Express就该发挥他的优势了,提高开发效率,Express 是基于Node.js平台的一个快速的Web开发框架,虽说只有极简的内核,但能让你用各种中间件来扩展他的功能

下载Express

npm i express --save  //如果嫌这个太慢,可以选择淘宝镜像

//淘宝镜像 两者最好都加上--save保存配置项
cnpm install express --save

安装express,成功之后你会在项目的根目录看到多了node_modules文件夹
因为这个文件夹极大,甚至包含了成百上千的包,所以代码提交时会删除它,拿到的人到时候自己再下

创建服务

const express = require('express'); //导入模板
const app = express();

app.get('/', (req, res) => {
        //get请求
    res.send('Hello World');	//send 直接自动帮你设置响应头
    							//对于对象,send 可自动转换 可以直接使用
})
app.listen(8000, ()=>{
     
	console.log('running...');
})

通过导入express模块后可以直接就可以创建端口号为8000的服务器,浏览器地址栏访问localhost:8000,就可以访问到服务器的返回数据"Hello World"

express路由

const express = require('express'); //导入模板
const app = express();
//路由可以传递参数
//正则
// /project/0714/ya
app.get(/^\/project\/([\d]{4})\/()$/, (req, res) => {
        
    console.log('req.params[0]');	
    res.send(`学号为${
       req.params[0]}`)
})

2.冒号
app.get("/student/:mh",(req,res)=>{
     
	console.log(req.params)
	res.send(`学号为${
       req.params.mh}`)//:变量名,也可获取路由的变量,同样也被记录在req.param中
})
app.listen(8000, ()=>{
     
	console.log('running...');
})

中间件

express.static()
用于静态文件的引入,不需要下载

const express = require("express");
const app = express();
//web层:静态伺服
app.use(express.static('project',{
      index: '/pages/register.html' })); //第一个参数是静态文件存储的目录,第二个是进入默认页面
app.listen(8000, ()=>{
     
	console.log('running...');
})

body-parser

参数体放在body中,就需要用此中间件件解析post数据,结果保存在请求的body对象中,需要下载

cnpm install body-parser

const bodyParser = require('body-parser');
//所有的post请求都经过这个中间件
app.use(bodyParser.urlencoded({
      extended: false }))
app.post("/test",(req,res)=>{
     
	let username = req.body.uname//获取ajax中POST请求传的uname
})

你可能感兴趣的:(Node.js)