egg-subapp

2.0.0 • Public • Published

egg-subapp

NPM version build status Test coverage David deps Known Vulnerabilities npm download

help you create multi-site applications quickly and easily

安装

npm i egg-subapp --save

依赖的插件

  • view
  • nunjucks

开启插件

// config/plugin.js
exports.subapp = {
  enable: true,
  package: 'egg-subapp',
};

使用说明

站点目录结构约定

app
 |- demo.subapp.com
    |- controller
    |- middleware
    |- service
    |- router
       |- index.js
       |- book.js
       |- ...
 |- demo2.subapp.com
    |- ...

各个站点的环境是隔离的,每个站点里定义的controller、middleware、service仅能被本站点的使用。

controller、middleware的引用与egg里使用无异,需要注意的是在controller里对service的使用,如下

class HomeController extends Controller {
  async findUser() {
    const { ctx } = this;
    // 通过ctx.subAppService获取到service上的实例
    ctx.body = await ctx.subAppService.user.findUser();
  }
}

详细配置

// config/config.default.js
exports.subApp = {
  virtualHosts: {
    // 自定义域名映射
    'custom-domain.com': 'demo.subapp.com',
  },
  middleware: {
    // 配置单个站点的全局前置中间件
    // 'demo.subapp.com': [ needLogin, ... ],
  },
};

请到 config/config.default.js 查看详细配置项说明。

License

MIT

Package Sidebar

Install

npm i egg-subapp

Weekly Downloads

5

Version

2.0.0

License

MIT

Unpacked Size

14.9 kB

Total Files

13

Last publish

Collaborators

  • yongbo000