3

我已@angular/compiler-cli全局安装并将以下tsconfig-aot.json添加到我的客户端目录:

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "types": []
  },
    "exclude": [
        "../node_modules"
    ],

  "angularCompilerOptions": {
   "genDir": "aot",
   "skipMetadataEmit" : true
 }
}

按照角度文档中的建议。然后ngc -p tsconfig-aot.json我在我的客户端目录中运行,但收到​​以下错误:

错误:编译失败。找不到资源文件:C:/Users/George/Source/Repos/docs/client/components/home/client/components/home/home.html

因为该资源不存在.. 我的 home.html 位于C:/Users/George/Source/Repos/docs/client/components/home/home.html, tsc 工作正常,我一直在使用 JIT 编译并且有一个工作应用程序,那么 AOT 在错误的位置查找我的文件是什么?

4

1 回答 1

0

在组件 ts 文件中,您应该将“templateUrl”更改为相对路径并添加“moduleId:module.id ”。

示例,来自:

@Component ({
    selector: "login",
    templateUrl:'app/components/login/login.component.html'
})

至:

@Component ({
    selector: "login",
    moduleId: module.id,
    templateUrl:'login.component.html'
})

解决了我的问题,希望对你有帮助...

于 2016-11-02T12:58:02.953 回答