express

it2023-10-02  70

安装

cnpm install express --save

创建服务器

var express=require('express'); var app=express(); app.listen(8888,function () {    console.log('运行在8888端口') })

路由

参数问题

传统:url.parse(req.url,true);

http://localhost:8080/test?username=cy&&age=18 const url=require('url'); //传统方式 app.get('/test',(req,res,next)=>{ const path_url=url.parse(req.url,true); var username=req.query.username; res.send({ username:username }) })

resetful api 接口方式

http://localhost:8080/test/cy/18 :username若是参数有: app.get('/test/:username/:age',(req,res,next)=>{ var username=req.param('username'); var age=req.param('age'); res.send({ username:username, age:age }) })

post

app.post('/posttest',(req,res,next)=>{ var username=req.param('username'); res.send({ username:username }) }) const bodyParser=require('body-parser'); // 使用body-parser中间件 app.use(bodyParser.urlencoded({ extended: false })); ​ ​ const bodyParser=require('body-parser'); // 使用body-parser中间件 app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); ​ router.post('/login', (req, res) => {    const email = req.body.email;

fs.readFile:异步

var fs=require('fs'); fs.readFile('./data/a.txt','utf8',function(err,data){    if(err) throw err;    console.log(data);    fs.readFile('./data/b.txt','utf8',function(err,data){        if(err) throw err;        console.log(data);....   }) }) 要想保证顺序,必须嵌套:太麻烦:可以用promise

Promise:是js的一个内置的构造函数

//i promise you //许下一个承偌:相当于创建个实例 var p1=new Promise(function(resolve,reject){//形参可任意    fs.readFile('./data/a.txt','utf8',function(err,data){           } })

app.all("*",function(req, res, next){     res.header("Access-Control-Allow-Origin", "*");     next(); });

*支持正则匹配,具体看官网

cnpm install --save currently

"client-install": "npm install --prefix liveable", "client": "npm start --prefix liveable", "start": "node index.js", "index": "nodemon index.js", "dev": "concurrently \"nodemon\" \"npm run client\"" 第一行和第二行的liveable是前端项目名 json-server json-server --watch data.json http://localhost:3000/jobs/ http://localhost:3000/jobs/1 cnpm install --save mockjs // 使用 Mock const Mock = require('mockjs'); let Random = Mock.Random; Random.name(); Random.county(); let data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|200': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'key|+1': 1, 'name': '@cname', 'age|20-50': 50, 'address': '@county' }] }); data=JSON.stringify(data, null, 4); data=JSON.parse(data);

 

最新回复(0)