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 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
Mar 01 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
全面解析Bootstrap表单样式的使用
Sep 09 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
layui扩展上传组件模拟进度条的方法
Sep 23 Javascript
JS倒计时两种实现方式代码实例
Jul 27 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模拟asp中response类实现方法
2015/08/08 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python先序遍历二叉树问题
2017/11/10 Python
用Python实现读写锁的示例代码
2018/11/05 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
日本语毕业生自荐信
2014/02/01 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
三年级小学生评语
2014/04/22 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
初婚初育证明范本
2014/11/24 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
校园广播稿范文
2015/08/19 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书