我最近将我的角度5通用应用程序迁移到了角度6,我使用 ng生成通用命令创建了它,然后在git hub链接下面。
当我运行build命令时,它显示错误...
npm run build:SSR
错误:__
ERROR in ./server.ts
Module not found: Error: Can't resolve './dist/server/main.bundle' in 'F:\angular_univarsal_tvtrd'
@ ./server.ts 20:9-45
答案 0 :(得分:1)
我也从Angular 5升级到6,我在构建通用时遇到了问题。我所做的是从angular universal wiki下载示例应用程序,并将我拥有的文件与wiki中讨论的文件进行比较。
为什么构建不会起作用可能有很多原因,我注意到我的一个错误就是脚本
"build:client-and-server-bundles": "ng build --prod && ng run MY-APP-NAME:server",
我复制并粘贴了wiki中的那个,但我的应用程序的名称却不同。我已更正此问题,因为我之前的脚本仍在使用不再使用的--app
,但我们现在使用--project
作为范围,因为您可以看到新angular.json
文件中的更改项目的属性,而不是应用。
另一件事可能是你的server.ts
文件中还有
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main.bundle');
而不是
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
因此,我解决此问题的最佳方法是准确地遵循他们在维基中所做的事情,并比较他们正在使用的包版本和更新的地雷以匹配他们在package.json
那些相关的包中角
希望能帮助