我正在使用AWS上的Angular 6 Universal。我的网站托管在AWS上,我使用Elastic Beanstalk进行部署。
我的Angular 6 Universal应用程序是使用@ ng-toolkit / universal使用angular CLI创建的,它可以在应用程序中自动添加所需的服务器配置。
我在部署时遇到了问题。我的部署总是失败。我不知道如何部署生成版本的已编译角度以及Nodejs服务器文件。我谷歌搜索,我无法找到一个合适的解决方案。
我做的步骤:
文件夹结构如下所示:
我试图将/ dist部署到服务器但是失败了。我试图用Typescript部署整个根文件夹但仍然失败。
我终于找到了问题,我创建了这个线程,以便它可以帮助其他人。
Elastic Beanstalk默认尝试先运行Server.js文件,如果找不到app.js,如果找不到则会运行命令“npm start”
所以有2个解决方案
// generated by @ng-toolkit/universal
const port = process.env.PORT || 8080;
const server = require('./_server'); <!-- Renamed to _server -->
server.app.listen(port, () => {
console.log("Listening on: http://localhost:" + port );
});
而最后也是重要的一步。
而已!现在部署,您的应用程序应该工作。如果您遇到此部署的任何问题或其他最佳做法,请与我们联系。