Angular 发布应用

当你准备把 Angular 应用部署到远程服务器上时,有不少可选的部署方式。 ###最简单的部署选项html

在完整部署应用以前,你能够先临时用一种技术来测试流程、构建配置和部署行为webpack

  • 从磁盘构建和提供服务 在开发过程当中,你一般会使用 ng serve 命令来借助 webpack-dev-server 在本地内存中构建、监控和提供服务。可是,当你打算部署它时,就必须使用 ng build 命令来构建应用并在其它地方部署这些构建成果。 ng build 和 ng serve 在构建项目以前都会清除输出文件夹,但只有 ng build 命令会把生成的构建成果写入输出输出文件夹中。

默认状况下,输出目录是 dist/project-name/。要输出到其它文件夹,就要修改 angular.json 中的 outputPath。git

当开发临近收尾时,让本地 Web 服务器使用输出文件夹中的内容提供服务可让你更好地了解当应用部署到远程服务器时的行为。你须要用两个终端才能体验到实时刷新的特性。github

  • 在第一个终端上,在*监控(watch)*模式下执行 ng build 命令把该应用编译进 dist 文件夹。
ng build --watch
复制代码

与 ng serve 命令同样,当源文件发生变化时,就会从新生成输出文件。web

  • 在第二个终端上,安装一个 Web 服务器(好比 lite-server ),而后使用输出文件夹中的内容运行它。例如:
lite-server --baseDir="dist"
复制代码

每当输出了新文件时,服务器就会自动刷新你的浏览器。json

该方法只能用于开发和测试,在部署应用时,它不受支持,也不是安全的方式。浏览器

  • 简化的部署方式 最简化的部署方式就是为开发环境构建,并把其输出复制到 Web 服务器上。安全

    1. 使用开发环境进行构建
    ng build --prod
    复制代码
    1. 把输出目录(默认为 dist/)下的每一个文件都复制到到服务器上的某个目录下。服务器

    2. 配置服务器,让缺失的文件都重定向到 index.html 上。 欲知详情,参见稍后的服务端重定向部分。webpack-dev-server

这是对应用进行生产环境部署的最简方式。

  • 发布到 GitHub pages(页面服务)

另外一种发布 Angular 应用的简单途径是使用 GitHub Pages

  1. 你须要建立一个 GitHub 帐号(若是没有的话),而后为你的项目建立一个仓库。记下 GitHub 中的用户名和项目名。

  2. 使用 Angular CLI 命令 ng build 来构建这个 GitHub 项目,选项以下:

ng build --prod --output-path docs --base-href //
复制代码
  1. 当构建完成时,把 docs/index.html 复制为 docs/404.html

  2. 提交你的更改,并推送。

  3. 在 GitHub 的项目页中,把该项目配置为从 docs 目录下发布

你能够到 https://<user_name>.github.io/<project_name>/ 中查看部署好的页面。

参见 angular-cli-ghpages,这个包用到了所有这些特性,还提供了一些额外功能。

相关文章
相关标签/搜索