无法从模块 "RootModule" 实例化文件 "app.module.ts"

Failed to instantiate file "app.module.ts" from module "RootModule"

我有 Sharepoint 加载项项目,我已经包含了必要的 angular2 包和 ts 文件,如下面的解决方案资源管理器的 ss:

这是我的 ts 文件内容; boot.ts

import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
bootstrap(AppComponent)

app.component.ts

import {Welcome} from './app.module';
import {Component} from 'angular2/core';
@Component({
    selector: 'app-main',
    template:'<h1>${Welcome.getMessage()}</h1>'
})
export class AppComponent {}

app.module.ts

export class Welcome {
    static getMessage() {
        return "Hello World!";
    }
}

当我 运行 这个应用程序时,我总是在输出中收到此错误消息 window:

> @"Error 1
>         CorrelationId: ae2bcaba-cdac-4178-bd39-2aca278a2e31
>         ErrorDetail: There was a problem with activating the app web definition.
>         ErrorType: App
>         ErrorTypeName: App Related
>         ExceptionMessage: Failed to instantiate file "app.module.ts" from module "RootModule": Source path
> "Features\SharePointAddIn4_Feature1\app.module.ts" not found.
>         Source: AppWeb
>         SourceName: App Web Deployment

我进行了搜索,但找不到任何对我有帮助的解决方案。知道如何解决这个问题吗?

嘿伙计,在回答之前有几点需要明确

  • 您使用的 angular2 版本太旧可能是您使用的是 angular2 beta (因为您使用的是 'angular2/core',现在是 '@angular/*'

  • 根据我的说法,你使用了错误的语法

    {Welcome.getMessage()}

有这样的语法

{{Welcome.getMessage()}}
  • 您还试图访问 class Welcome,甚至没有在 app.component.ts 文件的构造函数中进行初始化,这是错误的。

要解决此问题,我必须将 tsconfig.json 文件(和其他文件)设置为不部署,并将其从项目根目录中的 Elements.xml 中删除。

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="RootModule">
  </Module>
</Elements>