egg-subapp
v2.0.0
Published
help you create multi-site applications quickly and easily
Downloads
3
Readme
egg-subapp
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 查看详细配置项说明。