我的错误如下:
[at-loader] assets \ app \ app.module.ngfactory.ts中的错误:28:27 找不到模块' ./ app.component.ngfactory'。
运行npm run build后,app.module.ngfactory.ts按预期创建,但它创建了对我没有/无法找到的模块的引用:
导入*作为import21来自' ./ app.component.ngfactory';
查看aot-complier链接,我在编译应用程序部分中看到以下内容:
好奇的人可以打开 aot / app.component.ngfactory.ts 来查看 原始Angular模板语法在其中间, 编译到TypeScript表单。
我认为我的问题可能来自于我运行
时的事实" node_modules /的.bin / NGC" -p tsconfig-aot.json
它需要为其正在创建的组件分配一个名称,并且我不确定该名称是否可以是任何名称,或者是否需要特定的名称。 我已经尝试了名称NgFactory,app.component.ngfactory和我的项目的名称,但这些都没有做出任何我能看到的变化。我也没有看到我的tsconfig-aot.json文件中的文件夹被指定为genDir,只有outDir。
在ngc完成后,在中查找NgFactory文件的集合 aot文件夹(在tsconfig-aot.json中指定为genDir的文件夹)。
以下是我的tsconfig-aot.json目前包含的内容:
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outDir": "./public/js/app"
},
"exclude": [
"node_modules",
"dist",
"assets/app/polyfills.ts"
],
"angularCompilerOptions": {
"skipMetadataEmit" : true
}
}
如果您需要任何其他信息,请与我们联系。我还没有找到任何关于此事的东西,而且我现在已经找了两天了。
答案 0 :(得分:1)
我终于得到app.component.ngfactory来构建/我的整个aot文件夹。我更仔细地看了一下angular cookbook aot-compiler,并决定重新做一些实例化,以下是使它工作的原因:
npm install @ angular / compiler-cli @angular / platform-server --save
我猜它第一次没有正确安装或者发生了其他事情。安装完成后,我可以运行以下命令并生成aot文件夹:
"node_modules/.bin/ngc" -p tsconfig.aot.json
我还将tsconfig.aot.json文件更改为以下内容:
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outDir": "./public/js/app"
},
"files": [
"app/app.module.ts",
"app/main.aot.ts"
],
"exclude": [
"node_modules",
"dist",
"assets/app/polyfills.ts"
],
"angularCompilerOptions": {
"genDir": "aot",
"skipMetadataEmit" : true
}
}