部署Angular应用到Github pages

https://jeneser.github.io/blog/2017/08/08/angular-deploying-app-github-pages/

Published: August 08, 2017 by jeneser

Categories: angular 1

Tags: angular 2 course 2 original 4

你将看到:快速部署angular应用到github pages,利用github提供的pages资源快速创建演示站点

开篇

使用subtree

使用angular-cli-ghpages

配置参数

常见问题

开篇

众所周知,github为开发者提供了免费的静态网站托管服务github pages,我们可以用github pages快速部署我们的项目demo或项目文档。

最近开发angular应用(重构简书),总体架构已经做好,在排除了aot过程中的种种问题之后,想着先把demo部署到github pages以供大家查看。

github pages

使用subtree

先来介绍一个通用的方法。在开发vue豆瓣的过程中,我使用了git subtree来快速发布Live demo到gh-pages分支。主要使用了以下三条命令:

git add -f dist

git commit -am ‘Update live demo‘

git subtree push --prefix dist origin gh-pages

可以看出,该方法使用起来也是相当方便的。用Git Subtree来维护我们的子项目代码(/dist),对于我们整个项目来说是透明的,我们看到的就是一个普通的目录,原来怎么做现在依旧怎么做,只需在需要更新live demo时去做同步代码的操作。如果你对此方法感兴趣可自行搜索git subtree来了解更多,在这里就一笔带过了。

当发布angular应用到github pages时,我并不推荐你这样做。因为,我们有更好的方法来部署我们的angular应用到github pages。

使用angular-cli-ghpages

angular-cli-ghpages是angular社区贡献的npm包,提供了一种近乎于傻瓜式的解决方案,即便是你不太了解git。

要注意的是angular-cli-ghpages只支持angular2+的项目。Show time :)

首先,我们先来全局安装angular-cli-ghpages

$ npm install -g angular-cli-ghpages

接下来,我们使用angular-cli的产品模式来打包我们的应用,并且附加--base-href参数修改,以便我们的应用能正确访问我们的静态资源。运行如下命令:

$ ng build --prod --base-href "https://

配置参数

angular-cli-ghpages提供了很多有用的参数,各个参数的具体用法,请查看angular-cli-ghpages的官方文档。在这里,我们来说几个常用的:

使用--message来添加commit信息:

$ ngh --message="First deploy"

部署到指定的特定分支:

$ ngh --branch=production

另外,你可以使用--dry-run来查看该命令运行时输出的信息:

$ ngh --dry-run

常见问题

对于单页面应用来说我们应该把所有流量指向我们的index.html,来避免异常行为的发生。

在部署过程中你可能会遇到404错误,或者,当我们刷新某个页面时,我们的页面意外的变成了404。

我们需要修复它。对于github pages来说,我们没办法直接配置Github pages,但可以在commit时添加一个404页。简单的解决方案如下:

我们在项目的根目录新建404.html,把index.html中的内容完全复制到404.html中就可以了。这样做github pages仍然会在恰当的时候给出一个404响应,浏览器将会正确处理该页,并正常加载我们的应用。关于Github pages hack,推荐一篇文章:S(GH)PA: The Single-Page App Hack for GitHub Pages

(完结)

原创文章转载请注明.

作者:jeneser

作者github: https://github.com/jeneser

原文地址:https://www.cnblogs.com/liyao0312/p/8203536.html

时间: 2024-10-12 13:04:48

部署Angular应用到Github pages的相关文章

如何将你的github仓库部署到github pages(转)

原文地址:http://www.cnblogs.com/yuanzm/p/3945814.html#commentform 很多时候我都在思考一个问题,我们每天遇到各种各样的问题,然后我们需要不断google.百度,达到我们解决问题的目的.但是在这个过程中,我们总是能够见到,对于同一个问题,总是有大量错误.copy的博客.文库乃至吊炸天的百度知道,一次又一次减慢了我们解决问题的进度.更加糟糕的是,这种copy是保量不保质的,所以我们总是希望,每当我们google或者百度的时候,都能够最快解决我们

vue cli 3.x 项目部署到 github pages

github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目. 最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下. https://github.com/nusr/resume-vue 1. vue-router 不要开启 history 模式 路径中的 # 比较丑,就开启了 vue-router 的 history 模式,去掉了 #.平时做项目也是默认开启 history 模式.折腾了半天发现,我这是部署到 g

Vue 项目部署到GitHub Pages并同步到Gitee Pages

前言:相信很多前端开发者都拥有自己的vue项目,若想把自己的项目做成网站分享给大家看,最常用的就是利用Github提供的GitHub Pages服务和Gitee提供的Gitee Pages服务.其中,Github是国外网站,Gitee是国内网站(访问速度较快).本文给大家介绍的是如何将 vue-cli 3.0+项目部署到github pages 并同步到 gitee Pages上. 一.服务说明与注意事项 在你的github项目设置的GitHub Pages项,有这么一句话: GitHub Pa

如何将nuxt项目部署到github pages (码云 pages) 上

如何将nuxt项目部署到github pages (码云 pages) 上 前言:此文章包括了以下几点: 1:如何部署2:部署到Page后,静态资源加载报4043:从默认页面跳转到其他页面报4044:github Pages上的页面打开特别慢. 一:使用Nuxt.js脚手架工具create-nuxt-app快速创建项目 1:确保安装了npx(npx在NPM版本5.2.0默认安装了): npx create-nuxt-app <项目名> 后续选项可以自己跟实际情况选择. 二:在github上新建

github pages部署静态网页

如果你的项目只是一个静态网站,就没有必要再去整什么服务器,github pages 提供了搭建静态网站的功能: 为什么使用Github Pages 1. 搭建简单而且免费: 2. 支持静态脚本: 3. 可以绑定你的域名: 4. DIY自由发挥,动手实践一些有意思的东西git,markdown,bootstrap,jekyll: 5. 理想写博环境,git+github+markdown+jekyll: ****不限流量.不限流量.不限流量,重要的事说三遍!!!**** 下面是搭建简单实例: 一.

Ubuntu14.04+Jekyll+Github Pages搭建静态博客

官方教程http://jekyllrb.com/docs/installation/ 1. Jekyll简介 简单: 无需数据库.无需评论功能,不需要不断更新版本,只需要关心博客内容. 静态: 只用 Markdown (或 Textile).Liquid.HTML & CSS 就可以构建可部署的静态网站. 博客形态: 自定义地址.分类.页面.博客内容 以及 自定义的布局设计 都是系统中的一等公民. Jekyll详细介绍 2. Github Pages简介 Github Pages是Github提

Hexo+GitHub Pages搭建的个人博客

1. 什么是 Hexo,什么是 NexT 主题? Hexo 是一个基于 Node.js 的静态站点生成框架,快速.简洁且高效.Hexo 主要使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页.NexT 是其一个非常简洁优雅的主题. 2. 什么是 Markdown? Markdown 用过一些简单的标记,让你的文字实现精致的排版,实现易读易写,无需考虑美化,专注文字本身. 3. 什么是 GitHub ? GitHub 是基于 Git 技术的社交编程及代码托管网站.你可以用它

github pages &amp; 在线预览

之前参加活动,提交demo时,自己只会提交github上的源码地址,看别人提交的不仅有源码地址还有在线预览地址,自己折腾了好久也没折腾出来,中间还遇见了js Bin.js Fiddle.极客标签...等,前几天遇见了github pages,,终于知道别人的github.io是哪来的了...做一下小整理... 1   github上新建一个仓库,如test 2   个人信息输入验证及配置密钥 $ git config --global user.name "sunshineqtgit"

【 js 工具 】如何在Github Pages搭建自己写的页面?

最近发现 github 改版了,已没有像原来的 Launch automatic page generator 这样的按钮等,所以我对我的文章也进行了修正,对于新版来说,步骤更加简单了.欢迎享用. ------华丽丽的分割线,以下是在原版的基础上的修正版------- 学了前端小半年,如今写了个自己的网页想要去应聘,却发现部署很麻烦,部署到阿里云之类,买域名啊啥的还要收费,说贵也不贵,但我就是傲娇~ google一下了解到Github有一个Github pages的功能可以搭建博客或者托管网页,