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 相关文章推荐
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 Javascript
jQuery 源码分析笔记(4) Ready函数
Jun 02 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
Jun 05 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
基于JS实现无缝滚动思路及代码分享
Jun 07 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
微信小程序实现自定义加载图标功能
Jul 19 Javascript
Vue.js自定义指令学习使用详解
Oct 19 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
用session做客户验证时的注意事项
2006/10/09 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
大学新闻系自荐书
2014/05/31 职场文书
大学生求职信
2014/06/17 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL