这只是简单配置前后端,没有处理错误,也没有做好模块化
后面会完善,这是作为入门,了解前后端通信的整体流程
一、创建前端项目
- 在我们要放项目的文件夹中运行git或命令行
git clone https://github.com/PanJiaChen/vue-admin-template.git
- 不需要特地新建一个文件夹存克隆项目,生成的就是一个文件夹,可以重命名。
- 关于vue、vue-cli和vue-element-admin这里不细讲,有兴趣的,可以看他们的官方文档和github
- 克隆好后,进入文件夹,安装依赖
cnpm i
- 启动项目
npm run dev
- 这样就创建好我们的前端项目啦(空壳)
二、创建Koa服务器
1、在根目录创建server文件夹
没错,目录结构将会是这样子,
src
前端项目与server
后端项目在同一级当中
2、初始化server项目
不要急,前期的准备还是挺多的,本文也以后端入门为主
在server文件夹中
运行命令行
npm init
- 注意:不是我们上传代码是初始化项目的
git init
- 运行成功之后,会在server文件夹中生成一个
package.json的文件
(主要用于自定义启动服务器和依赖包管理)
3、安装koa相关依赖
关于koa2我们在其他地方讲
cnpm i --save-dev koa koa-bodyparser koa-router
- 这里只安装了演示用的
koa依赖
,实际上还需要安装很多相关依赖
koa
koa-router
koa-bodyparser
...
4、配置基础服务器并测试
安装好了依赖,就引入并调用试试吧
- 在
server文件夹中
新建index.js
const Koa = require('koa') // 引入koa类,注意要大写(是个类class)
const bodyParser = require('koa-bodyparser') // 引入post请求解析
const router = require('koa-router')() // 引入post请求解析
const app = new Koa() // 实例化Koa
//调用路由模块的get/post等方法(路径,异步回调方法)
router.get('/', async (ctx, next) => {
// todo
})
app.use(bodyParser()) // 调用kao实例的use方法(插入中间件-堆积木)
app.use(router.routes()) // 调用use堆积木,传入路由模块的routes方法
app.listen(9000)
console.log('app start at port 9000...')
- 这里有一个小插曲,对
koa-router
模块的引入产生了好奇require('koa-router')()
- 看它的github库,看到官方的调用方法是
const Router = require('koa-router')
const router = n