当你准备把 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
ng build
命令把该应用编译进 dist
文件夹。ng build --watch
复制代码
与 ng serve
命令同样,当源文件发生变化时,就会从新生成输出文件。web
lite-server --baseDir="dist"
复制代码
每当输出了新文件时,服务器就会自动刷新你的浏览器。json
该方法只能用于开发和测试,在部署应用时,它不受支持,也不是安全的方式。浏览器
简化的部署方式 最简化的部署方式就是为开发环境构建,并把其输出复制到 Web 服务器上。安全
ng build --prod
复制代码
把输出目录(默认为 dist/
)下的每一个文件都复制到到服务器上的某个目录下。服务器
配置服务器,让缺失的文件都重定向到 index.html
上。 欲知详情,参见稍后的服务端重定向部分。webpack-dev-server
这是对应用进行生产环境部署的最简方式。
另外一种发布 Angular 应用的简单途径是使用 GitHub Pages。
你须要建立一个 GitHub 帐号(若是没有的话),而后为你的项目建立一个仓库。记下 GitHub 中的用户名和项目名。
使用 Angular CLI 命令 ng build
来构建这个 GitHub 项目,选项以下:
ng build --prod --output-path docs --base-href //
复制代码
当构建完成时,把 docs/index.html
复制为 docs/404.html
。
提交你的更改,并推送。
在 GitHub 的项目页中,把该项目配置为从 docs 目录下发布。
你能够到 https://<user_name>.github.io/<project_name>/
中查看部署好的页面。
参见 angular-cli-ghpages,这个包用到了所有这些特性,还提供了一些额外功能。