角度cli AOT编译错误

问题描述:

我正在使用角度cli站点上的简单启动角cli示例。我在应用程序文件夹之外创建了一个服务,并将其包含在提供程序中的应用程序模块..etc中。不要问我为什么......只要设想一下我创建的服务,我计划在不同的角度项目之间分享。现在服务工作,但服务 - 不休息建立。这是我收到的错误。任何想法如何解决它?由于角度cli AOT编译错误

这里是我的项目结构的链接

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

纳克服务 - AOT错误如下:

ERROR在遇到错误静态解析符号值。调用函数'makeDecorator',不支持函数调用。请考虑rep 将函数或lambda与引用的函数相关联,解析符号可注入C:/角度项目/ testNgCLI/node_modul es/@angular/core/src/di/metadata.d.ts,解析符号OpaqueToken在C中:/角度项目/ testNgCLI/node_modules/@ angular/core/src/di/opaque_t oken.d.ts,在C:/ ANGULAR PROJECTS/testNgCLI/node_modules/@ angular/core/src/di中解析符号OpaqueToken /opaque_token.d.ts

CLI版本: 角CLI:1.0.0-beta.24 节点:7.3.0 操作系统:Win32的64

所有代码SH应该在一个app文件夹内跟随Angular 2 StyleGuide。另外,我在AngularCLI中看到了你的问题。 CLI严格遵循“风格指南”,因此问题可能会被关闭。

里面的app文件夹,您可以创建这样的事情:

app/ 
| 
+-- shared/ 
    | 
    +-- utils/ 
     | 
     + -- file.service.ts 
    +-- shared.module.ts // this will be the module that declares and exports shared files 
+-- app1/ 
    | 
    +-- app1.module.ts // declare and export app1 stuff 
+-- app2/ 
    | 
    +-- app2.module.ts // declare and export app2 stuff 
+-- app.module.ts // import app1, app2, and shared 

我建议的原因,它只是不好的做法,更多的东西解释像adminuser,比如你不事物命名app1app2 ,当需要修复一个bug时,会更容易导航。

希望这已经够清楚了。如果不是,我可以尝试更好地解释。

+0

TX在replyng。我将它们命名为(app1,2),以清楚地告诉你我想要的东西。我不认为你建议的上述结构适用于我想保留我想要共享的全局模块的单个副本的情况。bw diff projs.Proj在这里与您的根应用程序的文件夹类似上面的图片将有他们自己的ang cli.json文件。残友告诉我为什么Cli会在AOT中引发错误?或者有什么其他方法可以实现我想要的功能。我的要求是不能在我的机器上创建超过1个全局Mod的副本,以便我可以在应用程序之间共享 – MohanB

我认为问题在于服务内部的代码。这对我来说太,错误是一样的:

调用函数“makeDecorator”函数调用不支持。考虑代表系带功能或拉姆达与参考的导出函数

您使用的是一些称为makeDecorator匿名函数。为了准备好AoT代码,您需要将其移至独立功能并导出(也需要传统function,而不是=> lamda)。

你需要有这样的事情:

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