【发布时间】:2018-07-01 02:24:18
【问题描述】:
我正在使用 Angular Cli 开发一个 Angular 应用程序。还使用 express 应用程序作为后端服务器。 我在带有 Ubuntu 16.04 的 DigitalOcean droplet 上有一个 BitBucket 存储库和一个生产服务器 所以我的项目文件夹结构很简单:
- src - angular app sources
- server - express app
因此,当我进行生产构建时,Angular Cli 会将所有文件编译到 server/public 文件夹(我已将默认 dist 替换为 angular-cli.json 中的 outDir)
我在这里看到了两种将我的应用部署到生产服务器的方法:
1) 只需将整个项目推送到 BitBucket 上的远程存储库 (不包括
server/public- 否则这不是最佳做法, 对吗?),然后将其克隆到我的 droplet 上,安装所有依赖项, 创建生产版本并通过 pm2 运行它2) 在我的本地机器上创建生产版本,然后只复制
server文件夹到 droplet,只安装生产依赖 express 应用程序需要,并通过 pm2 运行它
我想通过创建一些脚本或其他东西使这个过程变得简单和自动化。
是的,我知道这两种方式都是可能的,但由于我是开发 SPA 的新手,我没有任何经验,可能看不到这两种方式的一些隐藏的利弊。
现在我认为第二个更正确,因为在我的生产服务器上不会安装任何额外的文件、依赖项和进程,只是应用程序运行所需的那些。但!我还没有找到任何使用这种方法的教程。
最佳做法是什么?
【问题讨论】:
标签: angular express deployment angular-cli dev-to-production