angular国际化使用管道国际化失败排查方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、ngx-translate和ng2-translate由于不同项目之间整合,两个项目依赖不同包的translateservice,整合完成发现使用管道国际化的html页面国际化失败,一直尝试换引入位置都不生效,没办法要跟进angular的源码查看,管道有问题那就断点管道,translate.pipe.js,发现没有指定当前语言。指定translateservice.use(language),就可以了。发现解决问题还是要跟源码,不然真是一头雾水。

import { TranslateModule, TranslateLoader  } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, 'assets/i18n/', '.json');
}

@NgModule({
  imports: [
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: createTranslateLoader,
        deps: [HttpClient]
      }
    }),//xxxmodule依赖这个ngx的translate
    xxxmodule,//在引用这个模块的component里translateservice.use(language)
    CoreModule//冲突的地方,这里用的是ng-translate
  ]
})

2、angular编译内存堆栈溢出问题

"scripts": {
  "clean": " ",
  "build": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --prod --aot",
  "start": "ng serve --proxy-config proxy.conf.json --host 0.0.0.0 --port 8088 --disable-host-check"
},

3、开源软件治理,black duck

转载于:https://my.oschina.net/u/1271447/blog/2962164

你可能感兴趣的:(angular国际化使用管道国际化失败排查方法)