EggJS提供了项目级别
的参数配置
和国际化
特性。CabloyJS在EggJS提供的特性基础之上进行了扩展,实现了模块级别
的参数配置
和国际化
特性
- 模块可以单独实现自己的
参数配置
和国际化
项目级别
的参数配置
和国际化
可以覆盖模块级别
的参数配置
和国际化
参数配置
1. 定义参数
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};
2. 使用参数
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}
3. 覆盖参数
使用项目级别
的参数覆盖模块级别
的参数,从而将Hello World
改为Hello World!
src/backend/config/config.default.js
- 1// modules
- 2config.modules = {
- 3 'test-party': {
- 4 message: 'Hello World!',
- 5 },
- 6};
国际化
1. 定义语言资源
CabloyJS默认语言是en-us
,如果需要支持中文,就需要添加zh-cn
资源文件
src/suite-vendor/test-party/modules/test-party/backend/src/config/locale/zh-cn.js
- 1module.exports = {
- 2 'Hello World': '世界,您好',
- 3};
2. 使用语言资源
CabloyJS通过方法ctx.text
根据客户端的locale
配置动态使用相应的语言资源
src/suite-vendor/test-party/modules/test-party/backend/src/controller/kitchen-sink/guide.js
- 1async echo3() {
- 2 const message = this.ctx.text('Hello World');
- 3 this.ctx.success(message);
- 4}
3. 覆盖语言资源
使用项目级别
的语言资源覆盖模块级别
的语言资源,从而将世界,您好
改为您好,世界
src/backend/config/locale/zh-cn.js
- 1module.exports = {
- 2 'Hello World': '您好,世界',
- 3};
评论: