配置Vuepress config.js

记录搭建网站遇到的坑和解决办法:配置Vuepress config.js

经过几天的建设,博客已初见雏形,正式上线啦。写此文章庆祝一下,顺便记录一下遇到了哪些坑,使用了什么解决办法(其实是补充一下学习板块的空白,不然就变成游戏评测网站了。。。

CDN加速

第一次打包部署的时候发现app.js有800k,除了vuepress的基本组件还有一个体积庞大的element-ui,这个体积的包对于我的小水管服务器实在是遭不住。便决定用CDN引入vue和element-ui的包。

//config.js 首先在config.js中把 vue 和 element忽略打包
configureWebpack:{
  externals: {
    'vue': 'Vue',
    'element-ui':'ELEMENT'
  }
},

//然后在head标签中引入cdn地址,具体的地址可以在https://www.bootcdn.cn/中查询
//element 必须在vue后引入
head: [
  ['link',{rel: 'stylesheet',href:
  'https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css'}],
  ['script',{src: 'https://cdn.bootcss.com/vue/2.6.10/vue.min.js'}],
  ['script',{src: 'https://cdn.bootcss.com/element-ui/2.12.0/index.js'}]
],

//然后记得删除 import Element 的代码

完成后再次build打包,app.js的体积只有50k,缩小了十倍以上。首页几乎可以做到秒加载。

跨域问题

由于我给博客加了后端程序,所以要解决跨域问题,当然博主是个弟弟,并不是很懂跨域问题。只是知道怎么配置。。。在我的理解里,前端和后端程序端口和地址都可以不一样,通过设置代理,使前端请求可以正确找到后端的地址。

//config.js 中配置devServer, 以/api开头的请求才会代理
devServer: {
  proxy:{
    '/api': {
      target: "http://localhost:4000",   //跨域访问的地址
      ws: true,    //是否启用websockets
      changeOrigin: true,    //target可以是域名
    }
  }
}

最后更新时间

vuepress默认主题提供一个设置是在文章右下角显示文章的最后更新时间。也是你最后一次提交该文件到github上的时间。配置非常简单。 themeConfig中配置 lastUpdated: ‘最后更新’

//config.js 这样配置效果为  最后更新:2019-12-25 23:17:33
themeConfig: {
  lastUpdated: '最后更新',
},

可以自定义显示日期的格式,这样配置效果为 最后更新:2019-12-25

//config.js
plugins: [
 [
   '@vuepress/last-updated',
   {
     transformer: (timestamp, lang) => {     //timestamp是时间戳
       const moment = require('moment')
       moment.locale(lang)       //lang是指语言,默认是en-us
       return moment(timestamp).format("YYYY-MM-DD")  //format可以自定义格式
     }
   }
 ]
]

长路漫漫

总算完成了之前的目标,初步搭建好了自己的博客和视频站,还是很有成就感的。希望我慢慢地将他建设的更好,也希望我能坚持写文章、写日记、写笔记的习惯。

2019-12-26凌晨,陪电脑过圣诞

Licensed under CC BY-NC-SA 4.0
加载中...
感谢Jimmy 隐私政策