角度6通用应用程序生产构建错误

时间:2018-05-15 09:34:21

标签: angular angular6

我最近将我的角度5通用应用程序迁移到了角度6,我使用 ng生成通用命令创建了它,然后在git hub链接下面。

https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/universal-rendering.md#step-4-setting-up-an-express-server-to-run-our-universal-bundles

当我运行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

1 个答案:

答案 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那些相关的包中角

希望能帮助