egg.js基本用法

基础知识 专栏收录该内容
80 篇文章 1 订阅

而 Egg 选择了 Koa 作为其基础框架,在它的模型基础上,进一步对它进行了一些增强。,egg是按照指定的目录结构去搭建web服务。

初始化项目

$ mkdir egg-example
$ cd egg-example
$ npm init
$ npm i egg --save
$ npm i egg-bin --save-dev

为了提升研发体验,我们提供了便捷的方式在本地进行开发、调试、单元测试等。
在这里我们需要使用到 egg-bin 模块。
首先,我们需要把 egg-bin 模块作为 devDependencies 引入:
添加 npm scriptspackage.json

{
  "scripts": {
    "dev": "egg-bin dev"
  }
}

这样我们就可以通过 npm run dev 命令启动应用。

目录结构

egg-example
├── app
│   ├── controller
│   │   └── home.js
│   └── router.js
├── config
│   └── config.default.js
└── package.json

由于我们在 Cookie 中需要用到加解密和验签,所以需要配置一个秘钥供加密使用。在 config/config.default.js

module.exports = {
  keys: 'key1,key2',
};

编写 Controller

如果你熟悉 Web 开发或 MVC,肯定猜到我们第一步需要编写的是 Controller 和 Router。

// app/controller/home.js
const Controller = require('egg').Controller;

class HomeController extends Controller {
  async index() {
    this.ctx.body = 'Hello world';
  }
}

module.exports = HomeController;

配置路由映射:

// app/router.js
module.exports = app => {
  const { router, controller } = app;
  router.get('/', controller.home.index);
};

简单的说 Controller 负责解析用户的输入,处理后返回相应的结果,例如

常用API

  1. this.ctx.curl 发起网络调用。
  2. 通过 ctx.set(key, value) 方法可以设置一个响应头
  3. ctx.get(name) 获取请求 header 中的一个字段的值,如果这个字段不存在,会返回空字符串。

官方文档

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页

打赏

前端精髓

小礼物走一走,来CSDN关注我

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值