首页 文章

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

提问于
浏览
1

我最近将我的角度5通用应用程序迁移到角度6,我使用 ng generate universal command 创建它,然后在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

当我运行构建命令时,它显示错误...

npm run build:SSR

Error: __

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 回答

  • 1

    我也从Angular 5升级到6,我在构建普遍版时遇到了问题 . 我所做的是从angular universal wiki下载示例应用程序,并将我拥有的文件与wiki上讨论的文件进行比较 .

    例如,为什么构建不起作用可能有很多原因,我注意到我的一个错误就是脚本

    "build:client-and-server-bundles": "ng build --prod && ng run MY-APP-NAME:server",
    

    我从维基中复制并粘贴了一个,但我的应用程序名称不同 . 我已更正此问题,因为我之前的脚本仍在使用不再使用的 --app 但我们现在使用 --project 范围,因为您可以看到新 angular.json 文件中的更改,该文件具有 projects 而不是 apps 的属性 .

    另一件事可能是你的 server.ts 文件中还有

    const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main.bundle');
    

    代替

    const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
    

    因此,我解决这个问题的最好方法是完全遵循他们在wiki中所做的事情,并比较他们正在使用的软件包版本和更新的mines以匹配 package.json 中与Angular相关的软件包

    希望这会有所帮助

相关问题