微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular AOT Build:内部错误:未定义的未知标识符

我目前的角度项目在角度支持AOT功能之前就开始了.现在我正试图让它发挥作用.我收到以下错误,我不知道这意味着什么,我可以开始调试问题.有谁知道为什么会出现这个错误

依赖

"@angular/animations": "^4.4.4","@angular/common": "^4.4.4","@angular/compiler": "^4.4.4","@angular/core": "^4.4.4","@angular/forms": "^4.4.4","@angular/platform-browser": "^4.4.4","@angular/platform-browser-dynamic": "^4.4.4","@angular/router": "^4.4.4","@ngx-translate/core": "^8.0.0","@ngx-translate/http-loader": "^2.0.0","core-js": "^2.5.1","font-awesome": "^4.7.0","primeng": "^4.2.1","quill": "^1.3.2","rxjs": "^5.4.3","zone.js": "^0.8.18"

错误

ERROR in Error: Internal error: unkNown identifier undefined
at Object.importExpr$$1 [as importExpr] (...\node_modules\@angular\compiler\bundles\compiler.umd.js:24211:23)
at tokenExpr (...\node_modules\@angular\compiler\bundles\compiler.umd.js:18577:39)
at providerDef (...\node_modules\@angular\compiler\bundles\compiler.umd.js:18480:20)
at ...\node_modules\@angular\compiler\bundles\compiler.umd.js:18697:77
at Array.map (<anonymous>)
at NgModuleCompiler.compile (...\node_modules\@angular\compiler\bundles\compiler.umd.js:18697:44)
at AotCompiler._compileModule (...\node_modules\@angular\compiler\bundles\compiler.umd.js:24144:32)
at ...\node_modules\@angular\compiler\bundles\compiler.umd.js:24056:66
at Array.forEach (<anonymous>)
at AotCompiler._compileImplFile (...\node_modules\@angular\compiler\bundles\compiler.umd.js:24056:19)
at ...\node_modules\@angular\compiler\bundles\compiler.umd.js:23969:87
at Array.map (<anonymous>)
at AotCompiler.emitAllImpls (...\node_modules\@angular\compiler\bundles\compiler.umd.js:23969:52)
at CodeGenerator.emit (...\node_modules\@angular\compiler-cli\src\codegen.js:42:46)
at ...\node_modules\@angular\compiler-cli\src\codegen.js:33:61
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)

解决方法

这部分应用程序导致了这个问题:

export function windowFactory(): any {
    return window;
}

providers: [{
    provide: Window,useFactory: windowFactory
}],

Github: This fails with AoT compiler in Angular CLI,because Window (the browser window) is an interface

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐