Github做为目前优秀的同性交友平台,其上维护了众多优秀的开源项目。目前Github上关于前端的项目也是数不胜数,Vue、React、Angular等等。本身也是经过官方文档+github的方式来学习一些新的技术和框架。在github上搜索相关项目时会发现,有的项目不光写了一手好文档而且还给出了项目的在线运行Demo。事实胜于雄辩,一个在线演示可能给项目带来更好的印象分。如何在github上维护本身我的项目源代码的同时并生成项目主页呢?前端
Github给用户提供了运行静态页面的地址,如何展现我的项目的静态页面?如下是建立项目主页的关键:vue
生成项目主页首先是将欲展现的静态页面推送的Github我的项目仓库的gh-pages分支下,而后经过上述的访问形式访问。webpack
如下以Vue的单页应用为例,给出完整的项目维护以及生成项目主页的步骤。git
1、Github上建立远程仓库github
在github上为我的项目建立远程仓库,以下所示:web
2、clone远程仓库到本地vue-cli
建立好远程仓库后,使用git工具将远程仓库clone到本地,以下所示:npm
3、使用vue-cli生成vue单页应用项目json
进入项目根目录,使用vue-cli生成vue的项目的初始结构。步骤以下:bash
# 以webpack模板生成项目原型 vue init webpack vue-example
在使用vue-cli脚手架工具生成vue项目过程当中会提示是否安装一些辅助工具库,可根据本身项目要求酌情安装,或者生成项目后安装。
项目生成完毕后,进入package.json所在目录执行npm install命令,安装项目运行须要的依赖。
依赖安装完成后,便可执行npm run dev命令启动本地的webpack-dev-server进行开发调试。
以下图所示,出现以下画面表明vue项目初始化完毕。后期可在该基础上进行本身项目的开发。
4、将项目推送到远程仓库
项目开发过程当中,能够将项目源码推送至github远程仓库中管理。
git add --all git commit -m 'Initial the vue project' git push
5、执行项目构建命令,并将构建后的静态页面推送至gh-pages分支
项目开发完毕能够执行 npm run build
打包文件,进行文件的打包发布流程。
git checkout -b gh-pages
npm run build
命令,构建代码# 强制添加dist文件夹,由于.gitignore文件中定义了忽略该文件 git add -f dist # 提交到本地暂存区 git commit -m 'Initial the page of project' # 部署dist目录下的代码 git subtree push --prefix dist origin gh-pages
注:使用git subtree命令能够在同一分支上维护源代码以及构建代码,在部署时仅仅推送dist目录下的内容。
以上所述的在github上gh-pages分支上生成项目主页主要是利用了github提供的静态页解析功能,所以本文中所属的范围仅使用于静态页面的部署。在将Vue应用部署到gh-pages分支后,可能会出现部分资源没法加载的问题,缘由就在于vue中的webpack配置在打包时其publicPath为根路径,若是该静态页在服务器中被访问则不会出现以上问题。在github解析时若是按照根路径解析会出错,所以在github上部署静态页时能够考虑将publicPath设置为当前目录,即 publicPath: './'
。
使用Vue-cli webpack模板生成的vue项目,出现上述问题应设置config/index.js中build对象下的assetsPublicPath
字段为assetsPublicPath: './'
,原理都是设置publicPath字段。
目前发现了一种更为简便的部署到github gh-pages的方式,gh-pages 提供了更为简便的管理本地项目到github的提交流程。详情见vue-ghpages-test。