新建文件夹node,里面放2个空白文件,一个data.js放数据,一个server.js读取数据然后返回
1、data中,定义数据,然后导出到server,data中代码如下
let data = {
//这里放数据
"data": {
code: 200,
msg: '数据请求成功',
data: {
swraperList: ["url1", "url2", "url3"],
noticeList: ['直播|Vue3.0新特性', '直播|快速上手Java开发']
}
}
}
module.exports = {
//更根据你自己的data格式导出哟
data: data.data
}
2、server.js文件中开口位置就导入data然后根据if返回数据,所以if的语句就是你定义的接口。(为了节约大家时间,这里只能处理没有参数的GET请求,如果是处理带参数的GET与POST,请看我的注释部分!!!还不明白,去B站找node里面处理get与post,20分钟一定学会!!!然后再来看我的注释)
//引入模块
const http = require("http");
//const url = require('url')这是用来处理带参数的
//const queryString = require('querystring')这也是用来处理带参数的
//导入数据
const data = require("./data");
//以下是处理GET方式提交的请求
//req中的req.url就是域名之后所有的一大串
//使用url模块对req.url进行第一次转换转成Object的形式
//其中对我们目前来说,这个转换后的对象里面属性,最主要的是
//1、path的值为req.url
//2、pathname能获取到?前的路由
//3、search能获取?以及?之后
//4、query能获取?之后的
//其中对目前来说最有用的是query模块所以使用queryString和之前对req.url一样
//把query转化成object
//以下是处理POST方式提交的请求
//POST请求时候会触发DATA事件
//Node端收完请求的触发END事件
//启动命令
//node server.js
const server = http.createServer((req, res) => {
//解决跨域问题
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.setHeader('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
res.writeHead(200, {
'Content-Type': 'application/json'
});
//其他地方看不懂没事,就只用知道,这里一个if,就是一个接口
if (req.url === '/api/index') {
res.end(JSON.stringify(data.data))
}
//处理POST请求
// let postDate = '';
// req.on('data',function(datachunk){
// postDate += datachunk.tostring()
// });
// req.on('end',function(){
// console.log(postDate)
// res.end();
// })
});
//监听端口
server.listen(3000, () => {
console.log("server is ok!")
})
3、在命令行中启动server.js,命令是node server(每次修改data,server,请重新启动一次)
4、我在if里面定义的是/api/index,愉快的访问吧!
二、更改data或者server每次都要重启?路由越写越多,觉得不好看?如果你有兴趣了解一点Node,请看这个稍微加强版
明天更新
三、既然假数据都写了这么多,为什么不在多学一点?–node连接mysql
周末更新