阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Egg.js 代码风格指南

      建议开发者使用 npm init egg --type=simple showcase 来生成并观察推荐的项目结构和配置。

      用类的形式呈现(Classify)

      旧写法:

      module.exports = app => {
        class UserService extends app.Service {
          async list() {
            return await this.ctx.curl('https://eggjs.org');
          }
        }
        return UserService;
      };
      

      修改为:

      const Service = require('egg').Service;
      class UserService extends Service {
        async list() {
          return await this.ctx.curl('https://eggjs.org');
        }
      }
      module.exports = UserService;
      

      同时,框架开发者需要改变写法如下,否则应用开发者自定义 Service 等基类会有问题:

      const egg = require('egg');
      
      module.export = Object.assign(egg, {
        Application: class MyApplication extends egg.Application {
          // ...
        },
        // ...
      });
      

      私有属性与慢初始化

      • 私有属性用 Symbol 来挂载。
      • Symbol 的描述遵循 jsdoc 的规则,描述映射后的类名 + 属性名。
      • 延迟初始化。

        // app/extend/application.js
        const CACHE = Symbol('Application#cache');
        const CacheManager = require('/edu/egg//edu/egg/lib/cache_manager');
        
        module.exports = {
        get cache() {
        if (!this[CACHE]) {
          this[CACHE] = new CacheManager(this);
        }
        return this[CACHE];
        },
        }
        
      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录