首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ionic 2 RC0和Angular 2最新错误(ngc:错误:遇到静态解析符号值的错误)

Ionic 2 RC0和Angular 2最新错误(ngc:错误:遇到静态解析符号值的错误)
EN

Stack Overflow用户
提问于 2016-10-12 22:29:49
回答 4查看 811关注 0票数 3

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

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

我在translation.ts文件中的代码

代码语言:javascript
运行
复制
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代码

代码语言:javascript
运行
复制
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 {}

关于这个问题的任何建议,顺便说一句,当我使用ionic serve命令时,我的项目100%处理事务

EN

回答 4

Stack Overflow用户

发布于 2016-11-17 06:46:40

我找到了解决这个问题的方法。

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

这对我很有效:

代码语言:javascript
运行
复制
// 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 },
];
票数 2
EN

Stack Overflow用户

发布于 2017-03-17 14:10:51

是的,正如@welefish在他的回答中所说,不需要导出您的字典对象,您只需将键更改为静态值。

PS:-另一个方法(发布为答案,因为@welefish方法对我不起作用)

代码语言:javascript
运行
复制
let en = LANG_EN_NAME;
let er = LANG_AR_NAME;
let fr = LANG_FR_NAME;

const dictionary : any = {
    en: LANG_EN_TRANS,
    er: LANG_AR_TRANS,
    fr: LANG_FR_TRANS
};

// providers
export const TRANSLATION_PROVIDERS = [
  { provide: TRANSLATIONS, useValue: dictionary },
];
票数 1
EN

Stack Overflow用户

发布于 2016-10-12 22:37:20

好的,照编译器说的做:)。导出您的字典:

代码语言:javascript
运行
复制
export const dictionary : any = {
    [LANG_EN_NAME]: LANG_EN_TRANS,
    [LANG_AR_NAME]: LANG_AR_TRANS,
    [LANG_FR_NAME]: LANG_FR_TRANS
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40001256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档