angular cli AOT编译错误

标签 angular command-line-interface angular-cli

我正在使用 Angular CLI 站点上的简单入门 Angular CLI 示例。我在 app 文件夹外创建了一个服务,并将其包含在 providers ..etc 的 app 模块中。不要问我为什么……想象一下我创建的一项服务,我计划在不同的 Angular 项目之间共享。现在 ng serve 工作但 ng serve --aot 中断构建。这是我收到的错误。任何想法如何解决它?谢谢

这是我的项目结构的链接

https://s3.amazonaws.com/uploads.hipchat.com/20493/94971/eVkgsEDXM8Kfzs1/upload.png

ng serve -- aot 错误如下:

错误中的错误遇到静态解析符号值。调用函数“makeDecorator”,不支持函数调用。考虑代表 将函数或 lambda 与导出函数的引用结合起来,在 C:/ANGULAR PROJECTS/testNgCLI/node_modul 中解析符号 Injectable es/@angular/core/src/di/metadata.d.ts,解析符号OpaqueToken in C:/ANGULAR PROJECTS/testNgCLI/node_modules/@angular/core/src/di/opaque_t oken.d.ts,解析符号OpaqueToken in C:/ANGULAR PROJECTS/testNgCLI/node_modules/@angular/core/src/di/opaque_token.d.ts

CLI 版本: Angular -cli:1.0.0-beta.24 节点:7.3.0 操作系统:win32 x64

最佳答案

我认为问题出在服务内部的代码上。我也遇到了,报错是一样的:

Calling function 'makeDecorator', function calls are not supported. Consider rep lacing the function or lambda with a reference to an exported function

您正在使用一些名为 makeDecorator 的匿名函数。为了让代码为 AoT 做好准备,您需要将其移动到单独的函数中并将其导出(它还需要是经典的 function,而不是 => lamda)。

你需要有这样的东西:

export function makeDecorator() {
    // implementation...
}

关于angular cli AOT编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41405179/

相关文章:

angular - 为什么 angular-cli 会创建 component/shared/index.ts?

javascript - 从 api 检索 Post 请求响应并将其传递给另一个 post 请求以传递给 angular8 应用程序

angular - 为事件路由器链接的父级设置一个类,Angular 2+

Angular 无法读取未定义的属性 'subscribe'

linux - 删除文件中包含字符串的文件 - Linux cli

azure - 基于我们在azure中定义的标签启动VM

angular - 模块 'undefined' 在 SyntaxError.ZoneAwareError 声明的意外值 'AppModule'

angular - 无法在 app.module 中导入 MatDialogModule

javascript - TypeError : self. parent.parent.context.parseInt 不是函数

image - 没有x服务器的opencv显示图像