小编典典

你如何部署 Angular 应用程序?

all

一旦 Angular 应用程序进入生产阶段,你如何部署它们?

到目前为止,我看到的所有指南(甚至在angular.io上)都依赖于 lite-server 来提供服务,并且
browserSync 来反映变化——但是当你完成开发时,你如何发布应用程序呢?

我是导入页面.js上的所有编译文件index.html还是使用 gulp 缩小它们?他们会工作吗?在生产版本中我是否需要 SystemJS?


阅读 62

收藏
2022-06-20

共1个答案

小编典典

您实际上在这里将两个问题合二为一。

第一个如何托管您的应用程序?.
正如@toskv 提到的那样,它的问题实在是太宽泛了,无法回答,并且取决于许多不同的事情。

第二个如何准备应用程序的部署版本?.
您在这里有几个选择:

  1. 按原样部署。就是这样 - 没有缩小、连接、名称修改等。转换所有 ts 项目,将所有生成的 js/css/… 源 + 依赖项复制到托管服务器,你就可以开始了。
  2. 使用特殊的捆绑工具(例如webpacksystemjs构建器)进行部署。
    它们带有#1 中缺少的所有可能性。
    您可以将所有应用程序代码打包到您在 HTML 中引用的几个 js/css/… 文件中。systemjsbuilder
    甚至允许您摆脱将其systemjs作为部署包的一部分包含在内的需要。

  3. 你可以使用ng deployAngular 8 从 CLI 部署你的应用程序。ng deploy将需要与您选择的平台(例如@angular/fire)结合使用。您可以在此处查看官方文档以了解最适合您的方法

是的,您很可能需要部署systemjs和一堆其他外部库作为包的一部分。是的,您将能够将它们捆绑到您从 HTML 页面引用的几个 js 文件中。

不过,您不必从页面中引用所有已编译的 js 文件——systemjs因为模块加载器会处理这些。

我知道这听起来很混乱 - 为了帮助您开始使用 #2,这里有两个非常好的示例应用程序:

SystemJS 构建器:angular2 种子

WebPack:angular2 webpack
启动器

2022-06-20