github在线预览总结

最近在使用 vue-cli 脚手架工具构建自己的第一个 vue 项目,有点小激动,想把它上传到 github 并展示一下预览效果,结果踩了好多坑,折腾了大半天才弄好。

这里假设你也是和我一样使用了 vue-cli 搭建了自己的项目,并且项目也已经上传到了 github

问题1

当我们在命令行执行 npm run build 后,项目的目录下会生成一个 dist 文件夹,它里面又包含一个 static 文件夹和一个 index.html 文件,这是 webpack 最终打包好的文件
在这里插入图片描述

我们先尝试在浏览器打开 index.html

在这里插入图片描述

咦,为什么页面显示是空白的?打开控制台,细心的朋友可能会发现, script 标签的引入路径好像不对啊,因为 static 文件夹和 index.html 是在同一个目录下的,这里却是从根目录引入 static 下的文件,正确的路径应该是 ./ 开头的相对路径: src=’./static/…’ 或者 src=‘static/…’

是哪里出了问题?其实这跟配置资源的路径有关,打开项目根目录 config 文件夹下的 index.js ,定位到 build 下的 assetsPublicPath (dev下也有一个assetsPublicPath,别搞错了,我就是在这里踩了第一个坑),把

assetsPublicPath: ‘/’ 修改为 assetsPublicPath: ‘./’
在这里插入图片描述

这下可找出原因,因为这里把静态资源路径设置为在根目录下,所以 script 标签的引入路径就找不到 static 文件夹下的文件了

重新执行 npm run build ,再打开 index.html 文件

在这里插入图片描述

OK!在浏览器可以看到页面效果了!

也行你会问,为什么 assetsPublicPath 的路径要设置为在根目录下,这不是在折腾我们吗?其实这是因为在真正的项目开发中, index.html 和 static 文件夹会被放到服务器的根目录下,然后进行线上发布。

问题2

本地预览问题解决了,接着我们把项目 push 到 github

这里又出问题了! dist 文件没有被上传到 github ,怎么回事?找到项目根目录的 .gitignore 文件,这里设置一些文件名,对应的文件将不会被提交到 github 上面,而 dist 被设置在里面,所以就不能上传到 github 上了,我们可以把 dist 从文件里移除。 当然还有另一种办法,就是在操作 git 命令时,把 git add. 改为 git add -f

dist 意思是强制把 dist 文件提交到 github 。
在这里插入图片描述

好了,现在我们已经可以在 github 仓库里看到 dist 文件夹。

疑惑,为什么 dist 文件夹要设置不被提交? 试想一下,在真正项目开发中, dist 文件夹中的 static 和 index.html 最终是要被扔到服务器上的,而不是提交到 github 上。

现在还是不能实现项目的线上预览效果,点击项目的 setting 项,然后找到 Github Pages

在这里插入图片描述

选择 master branch ,保存,接着你会看到项目在线预览链接,点击链接

在这里插入图片描述

此时,你会看到页面一片空白,别急,在地址栏后面添加 dist (因为 index.html 是在 dist目录 下),回车,好了,线上页面效果出来了

在这里插入图片描述

至此,项目的在线预览效果就实现了!!

还没有结束!在项目的 master 分支上,混合了源代码和页面预览文件,能不能把两者分开?而且还有一个问题, index.html 总是在 dist 路径下的,能不能项目名称直接跟 index.html 。这里就引出另外一种办法了。

另外一种办法

采用 github 的 gh-pages 分支制作 GitHub Pages ,只把 dist 添加到 gh-pages 分支,这样就把源代码和页面预览文件分开了

(先把本地的 dist 文件夹删除,再上传到 github ,更新 master 分支)

git 命令操作

git run build      
  git branch gh-pages   //创建gh-pages分支
  git checkout gh-pages  //切换到gh-pages分支
  git add -f dist     //强制把dist文件夹提交到github
  $ git subtree push --prefix dist origin gh-pages  //把dist文件夹单独部署到gh-pages分支

git run build
git branch gh-pages //创建gh-pages分支
git checkout gh-pages //切换到gh-pages分支
git add -f dist //强制把dist文件夹提交到github
$ git subtree push --prefix dist origin gh-pages //把dist文件夹单独部署到gh-pages分支

在这里插入图片描述

这里要选择 gh-pages branch ,再点击连接,如果此时看到空白页面,别急,稍等一会(内容更新需要时间)

好了,现在看仓库的 master 分支,不存在 dist 文件夹了,再看线上预览地址,也完美了

在这里插入图片描述
在这里插入图片描述

总结

以上所述是就是总结的vue项目实现github在线预览功能的方法。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是 FEX 团队对外首页的源码,将文章提交到这里后就会在 http://fex.baidu.com 上展现。 环境搭建 这个系统是基于 jekyll 搭建的,为了方便本地编辑和看效果,需要将本项目 clone 至本地环境,并在本机安装 jekyll 环境。 Mac/Linux 下 请使用如下命令(其中 gem 是 Ruby  的包管理工具)安装 jekyll(如果遇到权限问题请在前面加 sudo): gem install jekyll 如果在 Mac 下安装遇到编译报错,可以试试用 Brew 安装新版 ruby brew install ruby Windows 下 jekyll 官方对 winodws 的支持程度很低,推荐使用 Building portable Jekyll for Windows,另外这里附上网盘地址方便大家下载:PortableJekyll 1.3.0[百度网盘] 下边以 PortableJekyll 的解压目录为 e:\jekyll 介绍环境变量的配置: 在环境变量中新建变量: JEKYLL_HOME 取值为 e:\jekyll 为 PATH 变量添加如下内容:%JEKYLL_HOME%\ruby\bin;%JEKYLL_HOME%\devkit\bin;%JEKYLL_HOME%\git\bin;%JEKYLL_HOME%\Python\App;%JEKYLL_HOME%\devkit\mingw\bin;%JEKYLL_HOME%\curl\bin 完成 jekyll 配置后,通过如下命令检查是否配置成功: jekyll -h 本地预览 完成 jekyll 的安装后,在源码目录运行如下命令,就能在 localhost:4000 中预览了: jekyll serve --watch 如何编辑? 新建草稿 新文章编写时请先浏览 _drafts 目录,这里存放的是草稿,它不会在首页显示,请参考里面的 2014-05-06-empty.md 文件,新建文件名要遵循这样的格式,以日期开头,后面接着是文章的对外 url 子路径,中间以 - 分隔,后续标题有多个单词时也以 - 作为分隔符,建议只用英文单词或拼音,目前不确定中文是否可行。 需要注意的是草稿不会出现在首页列表中,如果想本地预览草稿效果,可以加 --drafts 参数,如下所示: jekyll serve --watch --drafts 个人信息 每篇文章都会附上个人相关信息,所以请先编辑 _data\authors.yml 文件,按照其中的格式新增一项,需要注意以下几点: 这是 YAML 格式,每行的开头是两个空格,而不是 TAB author 字段需要和你所写文章开头的 author 属性保持一致,这样才能正确展现 url 字段可以连接到个人主页或微博等 intro 是个人简介,会在每篇文章中展现 avatar 是个人头像,尺寸暂定 120 x 120,请放在 img/avatar 目录下 为何不用 gavatar?因为不是所有人都希望公开自己的邮箱,而且这样操作起来会简单些 图片存放地 请将图片放在 img 目录里,每篇文章新建一个目录,在文章中的引用方式为: ![](/img/<文章名>/xx.png) 发布 如果觉得文章可以对外展示了,不过还得先找个 280x150 的图片作为首页封面,放到 /img/<文章名>/cover.jpg 下,然后将文章移到 _posts 目录下,提交后就可以了。 小技巧 jekyll 最终生成的文件会放在 _site 目录下,可以通过浏览这个目录来确认效果 img 目录的主要用途是放图片,但也可以放其它文件静态,如 zip 等 不常见的语法高亮缩写可以参考这里 写什么? 虽然对外会觉得这是团队 Blog,但其实准确来说这里是每个团队成员的个人分享,每篇文章都只代表个人观点,所以如果有什么值得分享的话题,请不要有太多顾虑,想写什么就写什么,借助这个平台来提升自己的影响力吧。 具体内容形式将包括但不限于: 技术介绍、经验总结 FEX 新开源项目及升级版本介绍 优秀文章的翻译 优秀资源(书籍、开源项目)等的推荐 内部分享的 PPT(推荐使用 Speaker Deck 存放) 另外,如果你对目前界面的哪些细节不满意,也欢迎直接修改相关源码。 对于写作风格的约定 请参考 Markdown 编写规范,另外在根目录下个脚本 format.js,可以通过它来自动加空格。 其它问题 为什么某篇文章没显示出来? 你确定放到 _posts 下了是吧? 有可能是用了 {% xxx }%,因为页面会当成 Liquid 模板进行解析,所以请使用 {% raw  %}{% xxx %}{% endraw %} 来包含起来 那你肯定没在本地预览过,估计是有报错 文章发布前需要找谁审核么? 不需要,因为每篇文章都是以个人名义发表的 为何不用 WordPress? WordPress 环境搭建麻烦,不利于修改 简单来说就是:用起来不爽 为何不用时下流行的 c? Hexo 是将生成后的页面放 github 中,多人编辑出现冲突时合并麻烦 我不是 FEX 团队成员,可以在这里发表文章么? 真的?可以啊,请提 pull request
GitHub Releases是GitHub提供的一种功能,允许开发者将自己的项目发布为一个特定版本的发布包。通过GitHub Releases,开发者可以将代码以zip包的形式上传至GitHub,并和版本号、说明等信息一起发布出去。 在GitHub网站上,我们可以在项目的主页找到“Releases”选项,在这个页面上可以创建和管理项目的发布包。 首先,我们需要点击“Draft a new release”按钮创建一个新的发布。然后,填写发布的版本号、标签、标题和描述等信息。这些信息有助于其他用户了解发布的内容和用途。 接下来,我们可以在“Attach binaries by dropping them here or selecting one”部分,将需要上传的zip包拖拽到该区域中。GitHub会自动将zip文件上传至该发布。 一旦zip包上传成功,我们可以继续填写发布的详细信息,包括发布的日期和预览链接等。这些信息对于其他用户下载使用发布包非常重要。 最后,我们可以点击“Publish release”按钮发布我们的zip包。发布成功后,其他用户就可以在该发布页面中找到并下载我们的zip包。 值得注意的是,GitHub Releases还支持通过命令行工具或API进行zip包的上传和发布。这样,我们可以在开发过程中自动化地发布我们的代码。 总结而言,通过在GitHub上创建和发布Release,我们可以方便地将我们的代码打包为zip包,并与其他开发者共享和下载。这为各种项目的版本管理和交流提供了一种便捷和有序的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值