其他分享
首页 > 其他分享> > Ionic 2 RC0和Angular 2最新版本在构建android时出现错误(ngc:错误:在静态解析符号值时遇到错误)

Ionic 2 RC0和Angular 2最新版本在构建android时出现错误(ngc:错误:在静态解析符号值时遇到错误)

作者:互联网

当我使用ionic build android命令构建android时出现错误

ngc:错误:静态解析符号值时遇到错误.引用本地(未导出)符号“字典”.考虑导出符号(原始.ts文件中的位置14:8),解析符号TRANSLATION_PROVIDERS

我在translation.ts文件中的代码

export const TRANSLATIONS = new OpaqueToken('translations');
// all traslations
 const dictionary : any = {
    [LANG_EN_NAME]: LANG_EN_TRANS,
    [LANG_AR_NAME]: LANG_AR_TRANS,
    [LANG_FR_NAME]: LANG_FR_TRANS
};
// providers
export const TRANSLATION_PROVIDERS : any = [
    { provide: TRANSLATIONS, useValue: dictionary},
];

我的app.module.ts代码

import {TRANSLATION_PROVIDERS,TranslatePipe,TranslateService} from './translate';

@NgModule({
  declarations: [
    MyApp,
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,

  ],
  providers: [TRANSLATION_PROVIDERS,TranslateService ]
})
export class AppModule {}

关于这个问题的任何建议,顺便说一句,当我使用离子服务命令我的项目工作100%

解决方法:

我找到了解决方法.

您不必导出字典对象,只需将键更改为静态值即可.

这为我工作:

// all translations
const dictionary = {
  "en": LANG_EN_TRANS,
  "ar": LANG_AR_TRANS,
  "fr": LANG_FR_TRANS
};
// providers
export const TRANSLATION_PROVIDERS = [
  { provide: TRANSLATIONS, useValue: dictionary },
];

标签:angular,typescript,ionic2,android,compilation
来源: https://codeday.me/bug/20191118/2025379.html