angular 项目优化

234 阅读1分钟

项目背景:部门现有多个开发项目,都统一使用的ng-alian的框架,有需求需要整合两个项目的某些模块在一起,成一个新的项目,在整合的过程中为了实现项目的可插拔和性能提升

将每个module模块的国际化对应的键,加到相应的module模块下面

步骤:

    1.在i18n.service.ts 中做修改:\

        加入变量private _data={}; 用来存语言数据

        加load方法:\

          load(langData) {

            this._data = Object.assign(this._data, langData);

            this.translate.setTranslation(this.defaultLang, this._data);

            this.translate.setDefaultLang(this.defaultLang);

          }

    2.在module 模块下面加上_i18n文件夹,创建en-US.ts、zh-CN.ts文件

    3.在module中间文件laod进来

        export class inspectionModule {

          constructor(@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,private translate: TranslateService,) {

            let tanslations = this.i18n.defaultLang=='zh-CN'?  zh_CN: en_US;

            this.i18n.load(tanslations);

          }

        }