准备工作
最后更新于:2022-04-02 05:36:15
## 前言
也许你肯定熟悉github-page ,并知道github支持自定义域名,前提是你新建了这样的一个同名git项目,名称是你的git用户名 ,格式是这样的name.github.io,然后可以通过name.github.io/proname访问到其他的项目。
也许你也很熟悉vue可以实现单页应用,那么是否可以这样,我把vue单页应用打包后的资源直接丢到项目上,这样地址就变成了我单页应用展示的地址。答案是肯定的。
## 操作步骤
### 更改项目为github pages
找到项目设置tab项里对应github pages部分改为下图所示。需要做的有:设置展示的分支,主题可以不选,然后如果你有域名可以直接这里写你绑定的自己的域名,相当于在项目根目录下添加了一个CNAME ,内容就是你的域名,不带协议的。
![设置](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/fcd6aa7217e7812d2ff9c8ac4fbeb89c_1662x1248.png)
### 用vue-cli脚手架初始化你的项目
利用vue-cli脚手架,把你的项目进行初始化,初始化之后你的项目就可以通过localhost:8080访问:具体过程不再赘述。
备注:如果你遇到了启动失败,是关于localhost的,那么你需要设置本机的host解析:
127.0.0.1 localhost.
### 更改项目里的设置
我们知道这个脚手架默认是把打包后的资源丢到dist文件夹的,而dist文件夹是在.gitignore中忽略的,所以我们需要做以下的操作:
- dist资源需要上传,方便demo的展示
找到根目录.gitignore部分,吧忽略的dist目录删除,这样打包的dist文件就可以被推送了。
- 模板的index页面移动到src中
直接复制过去就好了,同时我们需要修改以下的几个位置,因为目前我们就简单考虑dev和prod环境,所以只更改这两个部分的配置。
在build/webpack.dev.conf.js中,找到 HtmlWebpackPlugin的插件配置,其原来template模板本部分配置的是index.html,我们现在需要改为src/index.html
~~~
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'src/index.html',
inject: true
}),
~~~
同理,在build/webpack.prod.conf.js中,找到 HtmlWebpackPlugin的插件配置,其原来template模板本部分配置的是index.html,我们现在需要改为src/index.html,与以上相同,这个是改的打包时候的配置。
- 然后还需要纠正打包之后index.html文件的存放位置以及对应资源的加载路径,这部分在config/index.js中build对象的配置下。
打包后的index.html放到根目录,资源部分还在dist中,对应的字段为index,对照原来的,我们需要把打包后的文件放到../index.html文件中,也就是根目录,不是原来的../dist/index.html,并且资源assetsPublicPath字段还要统一加前缀,/dist/,原来是/,因为index.html与资源的相对关系发生改变了。
~~~
// Template for index.html
index: path.resolve(__dirname, '../index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/dist/',
~~~
### 代码推送
将你本地的代码推送到github,然后通过name.github.io/proname 就可以看到你的单页应用了。
## 总结
本文非常水,只是教大家进行一些配置以及让你的vue单页应用支持更好的展示而不用买服务器,提供给小白少走弯路。
';