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


Posted in Javascript onApril 17, 2019

github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目。

最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下。

https://github.com/nusr/resume-vue

1. vue-router 不要开启 history 模式

路径中的 # 比较丑,就开启了 vue-router 的 history 模式,去掉了 #。平时做项目也是默认开启 history 模式。折腾了半天发现,我这是部署到 github pages ,服务器没有配置,导致页面一直请求不到。

2. 配置 publicUrl

打包路径也要单独配置,否则也是请求不到页面。

比如我的项目地址是 https://github.com/nusr/resume-vue

我要部署到 https://nusr.github.io/resume-vue,那么 publicPath 要配置为 /resume-vue

// vue.config.js
module.exports = {
 publicPath: process.env.NODE_ENV === "production" ? "/resume-vue" : "/"
};

3. css 引入图片错误

css 引入背景图片时,开发环境没有任何问题,但是一旦部署后,就无法获取图片了。

稍微改下 App.vue 的代码,暂时解决了这个问题。

<!--App.vue-->
<template>
 <div id="app">
  <router-view />
 </div>
</template>
<script>
export default {
 name: "App",
 mounted() {
  /**
   * 解决 css 引入图片在 github pages 无法获取的问题
   */
  const { NODE_ENV } = process.env;
  document.documentElement.className = NODE_ENV;
 }
};
</script>
<style lang="less">
@import "~@/assets/global.less";
</style>

给 html 标签配置了一个顶级类,写上不同的 css 解决了这个问题。

真时的部署环境不是这样的,部署文件夹就是根目录,但 github pages 部署文件夹不是根目录,就有这个问题。

// global.less
.development {
 background-image: url(/background.png);
}
.production {
 background-image: url(/resume-vue/background.png)
}

4. 自动部署脚本

根目录下新建 deploy.sh 文件,文件内容如下。

# deploy.sh
# 错误时停止
set -e
# 打包
npm run build
# 进入目标文件夹
cd dist
# 提交到本地仓库
git init
git add -A
git commit -m 'deploy'
# 提交到 https://github.com:nusr/resume-vue 项目的 gh-pages 分支
git push -f git@github.com:nusr/resume-vue.git master:gh-pages
cd -

部署命令是 bash deploy.sh

开启 github pages

建立仓库,仓库名称是 username.github.io ,必须是这种格式。

比如我的用户名是 nusr,建立的仓库就是 nusr.github.io

github pages 默认开启分支是 gh-pages,可以进入该仓库页面,点击 Settings -> GitHub Pages,切换展示的分支。

GitHub Pages 支持定制域名,支持 jsonp 请求。

参考

1.github pages 官方说明

2.vue cli 3.x 部署官方说明

以上所述是小编给大家介绍的vue cli 3.x 项目部署到 github pages的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javaScript同意等待代码实现心得
Jan 01 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
jQuery实现tag便签去重效果的方法
Jan 20 Javascript
原生js制作简单的数字键盘
Apr 24 Javascript
js实现网页多级级联菜单代码
Aug 20 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
AngularJs点击状态值改变背景色的实例
Dec 18 Javascript
Angular5.1新功能分享
Dec 21 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
Jun 03 Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 #Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 #Javascript
vue微信分享的实现(在当前页面分享其他页面)
Apr 16 #Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 #Javascript
vue.js中使用echarts实现数据动态刷新功能
Apr 16 #Javascript
详解vue-cli 脚手架 安装
Apr 16 #Javascript
详解jquery和vue对比
Apr 16 #jQuery
You might like
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
Python实现时钟显示效果思路详解
2018/04/11 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python3.8中使用f-strings调试
2019/05/22 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
Python 没有main函数的原因
2020/07/10 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
动态密码技术
2012/10/18 面试题
水果连锁超市创业计划书
2014/01/24 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
市级文明单位申报材料
2014/05/07 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
大学班长竞选稿
2015/11/20 职场文书
八年级语文教学反思
2016/03/03 职场文书
七年级作文之英语老师
2019/10/28 职场文书