这是我参与「第四届青训营」笔记创作活动的第2天
前言
青训营开始了有几天啦,但是前端组的小朋友们有没有遇到组里全是前端,没有后端小伙伴的情况呢?如果有的话,下面这篇文章可以让你用js快速搭建一个后端出来,免去学习后端语言的成本!话不多说,一起看看吧
简介
egg就是一个基于node开发的后端框架,可以用它来连接数据库,完成后端逻辑。他与其他node后端框架最大的改进是使用了mvc架构,非常适合后端开发
安装与初始化
首先,电脑中需要有node环境。先去下载node。 nodejs.cn/download/ 其次,使用egg框架之前要先安装egg环境以及脚手架。在控制台输入以下命令:
npm i egg --save
npm i egg-bin --save-dev
自此环境就安装完毕了。在命令行输入以下命令来创建初始egg项目
npm init egg --type=simple
ok,在当前目录就会自动生成项目了。恭喜恭喜。接下来来运行第一个egg项目吧! 在命令行输入如下命令来运行项目
npm run dev
接下来,应该会出现项目网址。复制到浏览器中即可看到成品了。
编写Router和Controller
当前的目录结构如下:
egg-example
├── app
│ ├── controller
│ │ └── home.js
│ └── router.js
├── config
│ └── config.default.js
└── package.json
其中,router存放在router.js当中,controller存放在controller文件夹中。如果你有mvc开发经验,就知道router和controller的关系了。如果没有,也没关系。首先实现一个简单的hello world功能吧。在home.js中输入以下代码:
// app/controller/home.js
const Controller = require('egg').Controller;//获取Controller对象,每一个controller都需要继承Controller对象
class HomeController extends Controller {
async index() {//这里代表一个接口,必须使用async修饰
this.ctx.body = 'Hello world';//ctx代表当前对话的上下文(可以理解为管理当前对话的管理员),body代表在报文body中返回信息
}
}
module.exports = HomeController;//导出这个对象
同时,在router.js中也要进行相关配置。
// app/router.js
module.exports = (app) => {
const { router, controller } = app;
router.get('/', controller.home.index);//这个router访问使用get方法,第一个参数代表访问路由,第二个参数代表访问的是coutroller文件夹里面,home.js中的index方法
};
然后在浏览器中运行该项目,是不是就可以看到hello world啦 后面还会教大家如何写mvc模式以及怎么连接数据库哦