🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 前言 也许你肯定熟悉github-page ,并知道github支持自定义域名,前提是你新建了这样的一个同名git项目,名称是你的git用户名 ,格式是这样的name.github.io,然后可以通过name.github.io/proname访问到其他的项目。 也许你也很熟悉vue可以实现单页应用,那么是否可以这样,我把vue单页应用打包后的资源直接丢到项目上,这样地址就变成了我单页应用展示的地址。答案是肯定的。 ## 操作步骤 ### 更改项目为github pages 找到项目设置tab项里对应github pages部分改为下图所示。需要做的有:设置展示的分支,主题可以不选,然后如果你有域名可以直接这里写你绑定的自己的域名,相当于在项目根目录下添加了一个CNAME ,内容就是你的域名,不带协议的。 ![设置](https://box.kancloud.cn/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单页应用支持更好的展示而不用买服务器,提供给小白少走弯路。