阿里Eggjs后端框架

安装 node

  • 至Node.js 官网下载 node8.9.x LTS 版本(长期支持版本)

安装你喜欢的编辑器

  • Visual studio code、
  • Atom
  • ...

本次以 Visual studio code 演示

初始化项目

  • 打开终端

    Ctrl+`
    
  • 输入初始化项目命令

    npm init
    
  • 输入安装 egg 命令

    npm install egg --save
    
  • 输入安装 egg-dev 命令

    npm install egg-bin --save-dev
    

约定大于配置

MVC 架构的 controller

  • 新建文件夹./app/controller/
  • 新建./app/controller/index.js

Hello world

  • 拿到 egg 对象

    const egg = require("egg");
    
  • 拿到 Controller 基类

    const Controller = egg.Controller;
    
  • 基于 Controller 基类写一个自己的 Controller 类

    class HomeController extends Controller {}
    module.exports = HomeController;
    
  • 在自己 Controller 类中写一个控制器函数

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

路由

  • 新建./app/router.js

  • 开始撰写要导出路由模块

    module.exports = (app) => {};
    
  • 开始撰写要导出路由模块

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

egg.ctx

  • 继续撰写如下 controller

    class HomeController extends Controller {
      async index() {
        this.ctx.body = "Hello world";
      }
      async about() {
        this.ctx.body = "这个是关于";
      }
      async get() {
        this.ctx.body = {
          url: this.ctx.url,
          method: this.ctx.method,
          query: this.ctx.query
        };
      }
      async getId() {
        this.ctx.body = {
          id: this.ctx.params.id,
          url: this.ctx.url,
          method: this.ctx.method,
          query: this.ctx.query
        };
      }
    }
    
  • 继续撰写如下路由

    module.exports = app => {
      const { router, controller } = app;
      router.get("/", controller.index.index);
      router.get("/about", controller.index.about);
      router.get("/get", controller.index.get);
      router.get("/getid/:id", controller.index.getId);
    };
    
  • 进行测试

  • 打开

    http://host:port/
    
  • 打开

    http://host:port/about
    
  • 打开

    http://host:port/get?page=5&number=10
    
  • 打开

    http://host:port/getid/1234567?page=5&number=10
    

静态资源服务器

  • 安装静态资源服务插件

    npm i egg-static --save
    
  • 打开

    http://host:port/public/index.html
    

你可能感兴趣的:(阿里Eggjs后端框架)