美文网首页我爱编程
阿里Eggjs后端框架

阿里Eggjs后端框架

作者: Silver湫澲 | 来源:发表于2018-03-26 20:43 被阅读4375次

node 从接触 Koa2 到上手 Egg2 之接触 Egg2

安装 node

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

安装你喜欢的编辑器

  • 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后端框架

    node 从接触 Koa2 到上手 Egg2 之接触 Egg2 安装 node 至Node.js 官网下载 nod...

  • node通过sequelize连接sqlserver(mssql

    后端框架 egg 配置 基础配置参考https://eggjs.org/zh-cn/tutorials/seque...

  • eggjs中的passport实践

    eggjs是阿里开源的一个针对企业级应用的nodejs框架,最近在学习eggjs中的passport,走了一些弯路...

  • sequelize学习

    [TOC] 前言 刚接触nodejs新人一枚,在后端服务框架正在学习eggjs,其中数据库方面ORM框架使用的eg...

  • Eggjs 搭配 Swagger 和 Sequelize 编写接

    前言 Eggjs 是阿里巴巴团队开发的,一个基于 Koajs 的框架,相当于二次封装,和 Koajs 一样...

  • Egg 静态资源及缓存设置

    egg是基于koa框架由阿里团队推出的框架,有很多后端的影子,看着舒服,黑! egg默认静态文件 egg 默认自动...

  • eggjs框架使用大略

    端口指定 方法1,在配置文件config.*.js里添加 方法2 日志输出 ctx.logger.info()输出...

  • dobbox 知识

    实现前后端分离的一个框架 由 阿里 dobbo 改进而来,当当维护 构件: 注册中心(Registry) 服务提供...

  • egg设置日记

    做后端,避免不了需要记录日志,这样才能快速捕捉,定位到线上环境代码的问题。 官方文档[https://eggjs....

  • NodeJs从零构建代理ip池(二)项目框架介绍与搭建

    《原文地址》 此小节项目源码:simple-proxy-pool Eggjs 是阿里开源的一个企业级的 Nodej...

网友评论

    本文标题:阿里Eggjs后端框架

    本文链接:https://www.haomeiwen.com/subject/dfkdcftx.html