Angular 2"在遇到静态解析符号值时出错." 跑i18n

gan*_*jan 6 error-handling compiler-errors internationalization angular2-aot angular

我正在尝试运行i18n提取工具来翻译我的角度2应用程序.但是当我试图跑步时,我得到:

Failed on type {"filePath":"C:/ng/anbud/src/app/_common/logging-error handler.ts","name":"LoggingErrorHandler"} with error Error: Error encountered resolving symbol values statically. Could
 not resolve type LoggingErrorHandlerOptions (position 34:53 in the original .ts file), resolving symbol LoggingErrorHandler in C:/ng/anbud/src/app/_common/logging-error-handler.ts
Error: Error encountered resolving symbol values statically. Could not resolve type LoggingErrorHandlerOptions (position 34:53 in the original .ts file), resolving symbol LoggingErrorHandle
r in C:/ng/anbud/src/app/_common/logging-error-handler.ts
    at simplifyInContext (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:469:23)
    at StaticReflector.simplify (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:472:22)
    at StaticReflector.parameters (C:\ng\anbud\node_modules\@angular\compiler-cli\src\static_reflector.js:102:47)
    at CompileMetadataResolver.getDependenciesMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14317:56)
    at CompileMetadataResolver.getTypeMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14282:28)
    at CompileMetadataResolver.getProviderMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14473:42)
    at C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14421:47
    at Array.forEach (native)
    at CompileMetadataResolver.getProvidersMetadata (C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14405:21)
    at C:\ng\anbud\node_modules\@angular\compiler\bundles\compiler.umd.js:14412:43
Extraction failed

npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\js\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "i18n"
npm ERR! node v6.5.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! beskrivelse@0.1.0 i18n: `ng-xi18n`
npm ERR! Exit status 1
Run Code Online (Sandbox Code Playgroud)

错误发生在我的自定义错误处理程序中:

// Import the core angular services.
import { ErrorHandler } from '@angular/core';
// import { forwardRef } from '@angular/core';
import { Inject } from '@angular/core';
import { Injectable } from '@angular/core';

// Import the application components and services.
import { ErrorLogService } from './error-log.service';

export interface LoggingErrorHandlerOptions {
  rethrowError: boolean;
  unwrapError: boolean;
}

export var LOGGING_ERROR_HANDLER_OPTIONS: LoggingErrorHandlerOptions = {
  rethrowError: false,
  unwrapError: false
};

@Injectable()
export class LoggingErrorHandler implements ErrorHandler {

  private errorLogService: ErrorLogService;
  private options: LoggingErrorHandlerOptions;

  constructor(
    errorLogService: ErrorLogService,
    @Inject(LOGGING_ERROR_HANDLER_OPTIONS) options: LoggingErrorHandlerOptions <!--- ERROR
  ) {
    this.errorLogService = errorLogService;
    this.options = options;
  }
Run Code Online (Sandbox Code Playgroud)

错误处理程序基于以下文章:https: //www.bennadel.com/blog/3138-creating-a-custom-errorhandler-in-angular-2-rc-6.htm

因此,如果您想要查看完整的代码,您可以在那里看到它.

任何人都知道为什么会抛出这个错误?

小智 2

这里只是一个疯狂的猜测:

改变

export interface LoggingErrorHandlerOptions
Run Code Online (Sandbox Code Playgroud)

export class LoggingErrorHandlerOptions
Run Code Online (Sandbox Code Playgroud)