一旦 Angular 应用程序进入生产阶段,你如何部署它们?
到目前为止,我所看到的所有指南(甚至在 angular.io 上)都依赖于 lite-server 来提供服务,browserSync 来反映变化——但是当你完成开发时,你如何发布应用程序?
我是在 index.html
页面上导入所有已编译的 .js
文件还是使用 gulp 缩小它们?他们会工作吗?在生产版本中我是否需要 SystemJS?
原文由 Joseph Girgis 发布,翻译遵循 CC BY-SA 4.0 许可协议
您实际上在这里将两个问题合二为一。
第一个 是 如何托管您的应用程序? .
正如@toskv 提到的那样,它的问题实在是太宽泛了,无法回答,并且取决于许多不同的事情。
第二个 是 如何准备应用程序的部署版本? .
您在这里有几个选择:
webpack
或systemjs
builder。它们带有#1 中缺少的所有可能性。
您可以将所有应用程序代码打包到您在 HTML 中引用的几个 js/css/… 文件中。
systemjs
构建器甚至允许您摆脱将systemjs
作为部署包的一部分的需要。ng deploy
从 CLI 部署您的应用程序。ng deploy
需要与您选择的平台一起使用(例如@angular/fire
)。您可以在 此处查看官方文档以了解最适合您的 方法是的,您很可能需要部署
systemjs
和一堆其他外部库作为包的一部分。是的,您将能够将它们捆绑到您从 HTML 页面引用的几个 js 文件中。您不必从页面中引用所有已编译的 js 文件 -
systemjs
因为模块加载器会处理这些问题。我知道这听起来很混乱 - 为了帮助您开始使用 #2,这里有两个非常好的示例应用程序:
SystemJS 构建器: angular2 种子
WebPack: angular2 webpack 启动器