EggJS提供了项目级别
的参数配置
特性。EggBornJS在EggJS提供的特性基础之上进行了扩展,实现了模块级别
的参数配置
特性
- 模块可以单独实现自己的
参数配置
项目级别
的参数配置
可以覆盖模块级别
的参数配置
定义参数
src/suite-vendor/test-party/modules/test-party/backend/src/config/config.js
- 1module.exports = appInfo => {
- 2 const config = {};
- 3
- 4 config.message = 'Hello World';
- 5
- 6 return config;
- 7};
使用参数
模块内部使用
src/suite-vendor/test-party/modules/test-party/backend/src/controller/kitchen-sink/guide.js
- 1async echo2() {
- 2 const message = this.ctx.config.message;
- 3 this.ctx.success(message);
- 4}
跨模块使用
如果是跨模块使用另一个模块的参数配置
,方式如下:
- 1async echo2() {
- 2 const message = this.ctx.config.module('test-party').message;
- 3 this.ctx.success(message);
- 4}
名称 | 说明 |
---|---|
config.module(moduleName) | 返回指定模块的config 对象 |
覆盖参数
可以使用项目级别
的参数覆盖模块级别
的参数,从而方便我们从项目层面定制模块的行为参数
src/backend/config/config.default.js
- 1// modules
- 2config.modules = {
- 3 'test-party': {
- 4 message: 'Hello World!',
- 5 },
- 6};
由于EggJS可以针对
测试环境
、开发环境
、生成环境
单独配置Config
,因此,我们也可以借此特性针对不同的环境定制模块的行为参数
评论: