我正在尝试在我的Angular 11项目中使用npm run prerender
命令,但我得到这个错误:
Generating browser application bundles...Error: ENOENT: no such file or directory, open '/home/xyz/edApp3b/src/src/main.server.ts'
at Object.openSync (fs.js:476:3)
at Object.readFileSync (fs.js:377:35)
at NodeJSFileSystem.NodeJSReadonlyFileSystem.readFile (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/src/ngtsc/file_system/src/node_js_file_system.js:98:23)
at EsmDependencyHost.DependencyHostBase.recursivelyCollectDependencies (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_host.js:81:40)
at EsmDependencyHost.DependencyHostBase.processFile (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_host.js:136:22)
at EsmDependencyHost.DependencyHostBase.collectDependenciesInFiles (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_host.js:56:26)
at ProgramBasedEntryPointFinder.getInitialEntryPointPaths (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/program_based_entry_point_finder.js:49:18)
at ProgramBasedEntryPointFinder.TracingEntryPointFinder.findEntryPoints (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/tracing_entry_point_finder.js:45:41)
at /home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/execution/analyze_entry_points.js:28:41
at new ClusterMaster (/home/xyz/edApp3b/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:45:30)
正如您在错误输出的第一行所看到的,它在src/src/
中寻找main.server.ts
,而不仅仅是src/
…为什么呢?,我该如何修复它?
我只是用ng add @nguniversal/express-engine
安装了快车引擎,就这样。所以构型不是我自己做的。我一直在配置文件中寻找,但没有明显的值与预渲染器和路径相关。
配置在tsconfig.server.json
中。在那里,您可以更改所需文件的路径(main.server.ts
和server.ts
是默认值)。您可能还需要将路径更新为servers.ts
"files": [
"main.server.ts",
"../server.ts"
],