美文网首页
Angular 发布应用

Angular 发布应用

作者: Arthur_Pluto | 来源:发表于2019-08-26 11:24 被阅读0次

当你准备把 Angular 应用部署到远程服务器上时,有很多可选的部署方式。

最简单的部署选项

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

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

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

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

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

ng serve 命令一样,当源文件发生变化时,就会重新生成输出文件。

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

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

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

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

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

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

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

  • 发布到 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,这个包用到了全部这些特性,还提供了一些额外功能。

相关文章

  • Angular 发布应用

    当你准备把 Angular 应用部署到远程服务器上时,有很多可选的部署方式。 最简单的部署选项 在完整部署应用之前...

  • 小谈 ng deploy 的实现

    Angular CLI 在 8.3.0 发布过一个新命令 ng deploy,可以将 Angular 应用部署到远...

  • 如何创建一个angular8的应用

    Angular团队现在正式发布了最新的Angular版本8。Angular 8增加了很多新特性,缩短了应用在现代浏...

  • 解析 Angular 7 的十大特性

    Angular 是最流行的 Web 应用程序开发框架之一。随着 Angular 7 的发布,它为 Web 开发人员...

  • Angular-cli

    1.创建应用 安装 angular-clinpm install @angular/cli -g 创建应用ng n...

  • ng-book 2 - 002

    第三章:Angular的工作原理 Angular应用是由组件构成的当开发新的Angular应用时,先画出原型图,然...

  • 使用Angular-CLI发布一个i18n(国际化)应用(译)

    使用Angular-CLI发布一个i18n(国际化)应用 原文作者:Philippe Martin译者:王芃 原文...

  • Angular 2 模块(Modules)

    Angular 应用是模块化的,Angular 有自己的模块系统,叫做 Angular 模块 or NgModul...

  • Angular 路由入门

    我们可以通过下面几步操作,让 Angular 应用支持路由功能: 在 Angular 应用中设置基础路径。 使用 ...

  • Angular4-学习笔记-3-架构概览

    学习资料来自 Angular.cn 与 Angular.io。 架构概览 Angular 应用的实现方式: 用 A...

网友评论

      本文标题:Angular 发布应用

      本文链接:https://www.haomeiwen.com/subject/pmhrectx.html