安装
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);.... }) }) 要想保证顺序,必须嵌套:太麻烦:可以用promisePromise:是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);