我已在全球范围内安装了@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看错了我的档案的地方?
答案 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'
})
这解决了我的问题,希望它有所帮助......