# 模拟数据
数据交互是前端开发中必不可少一环,本项目使用nodeJs的koa2框架做为后端数据源,这样保证了每次交互都是一个条真实的http请求,舍去mockJs的同时也舍去了其带来的弊端,你可以在控制台清楚的查看数据类型与数据结构,更好的帮助你对接重写的基础接口(如:登陆、动态路由、用户信息)。
# 添加新数据
git克隆下来的纯前端项目不包含node服务端代码,启动前端项目之所以能够访问基础接口,是因为前端设置了vite代理进行了跨域请求。当然你可以去克隆node服务端代码 (opens new window),本地运行 npm run start
启动,此时修改前端代理只本地服务端端口 127.0.0.1:服务端端口
克隆服务端并启动
// 克隆代码
git clone git@github.com:llyyayx/admin-nodeServe.git
// 进入项目文件夹
cd admin-nodeServe
// 安装软件包
npm install
// 运行
npm run start
修改前端代理
// vite.config.ts
server: {
proxy: {
'/api': {
target: 'http://127.0.0.1:服务端端口',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '/api')
}
}
}
添加数据
进入 router/index.js
添加
// 以登陆为例
router.post('/login', async (ctx, next) => {
const { userName, userPwd } = ctx.request.body
if (userName === 'admin' && userPwd === '123456') {
ctx.body = {
code: 200,
token: 'Token123456',
message: '登陆成功'
}
} else {
ctx.body = {
code: 101,
message: '账号或密码错误'
}
}
})
# 修改服务端端口号
进入 bin/www
修改
// 修改8011即可
var port = normalizePort(process.env.PORT || '8011');
# 多个server
目前项目只启动了一个后端服务,当然你也可以有自己其它的服务或者代理接口。可以一部分接口走这个服务,另一些接口走另一个服务。只需要将它们分别设置不同的的baseURL即可。
之后根据设置的 url 规则在 vite.config.ts 中配置多个 proxy 。
相关文档 (opens new window)
# Swagger
在公司的项目中通常使用 swagger (opens new window), 由后端来模拟业务数据。 swagger
是一个 REST APIs 文档生成工具,它从代码注释中自动生成文档,可以跨平台,开源,支持大部分语言,社区好,总之非常不错,强烈推荐。
# 说明
模拟数据只手动配置了一些假的数据,没有在node端配置数据库相关的数据源,毕竟之后终究还是要更换成后端人员的接口,这里只是为了保证前端程序能够跑起来。使用node提供数据也可以保证数据的灵活性。