ngc在错误的目录中查找

时间:2016-10-08 21:31:39

标签: angular angular2-aot angular-compiler-cli

我已在全球范围内安装了@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看错了我的档案的地方?

1 个答案:

答案 0 :(得分: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'
})

这解决了我的问题,希望它有所帮助......