【开篇】个人博客开发技术选型——从想法到实现

【开篇】个人博客开发技术选型——从想法到实现

2019-10-11 16:28:29 评论 1 阅读 188 喜欢 1

开篇前言

2015年源于小前端对大佬的渴望,萌生了搭建自己个人博客的想法,毕竟技术大佬都有自己的博客。

说干就干,开始网上收集相关资料,慢慢了解搭建博客所使用的技术,最后根据成本、自身能力博客1.0正式上线了。当时采用的WordPress + 阿里云的虚拟主机,都是现成的框架,跟着教程走就完事了!

2019年,几年积攒下来,技术方面也提升了不少,Nuxt + Node 对博客进行重构,然后2.0版本就上线了。上线后第一件事就是给自己做个总结,分享下期间遇到的坑~

文章从前端开发者的角度出发,前后端都基于JavaScript语言。

为什么要搭建博客?

1.平时都给别人贡献时间,何不给自己花点时间

2.相比其他博客平台,自己的博客自己就是上帝

3.享受“造孩子”的成就感

博客技术选型

Web客户端

现今主流技术react、vue、ng等框架,前后台分离开发起来效率高了不少,所以这些技术都是首选。

不管是react还是vue项目,默认情况下都是单应用模式(SPA),用于开发博客来讲,有一些无法忍受的缺点

  1. SEO
  2. 首屏加载

SPA应用是异步加载,百度搜索引擎暂不支持异步,导致文章无法被收录的问题,以及首屏加载时间过长,严重影响用户体验。

既然有问题,那必然会解决方式,这就涉及到SSR(服务器渲染)。

什么是SSR?引用vue官方的解释:Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务器客户端上运行。

通过SSR同时解决了SEO和首屏加载的问题,在选择上当然选择SSR来搭建项目!

  • Vue对应的SSR框架 - nuxtjs
  • React对应的SSR框架 - nextjs

后台接口

前后台分离开发,选择上自然是Restful API。加之前端开发对JavaScript的熟悉,后台开发首选Nodejs,减少学习成本。

node也有衍生的框架,主流的有koa、express。两者优选选koa,koa支持async、await不需要各种Callback。

数据库

想快速开发出自己的博客首选MongoDB

服务器

个人博客来讲,购买最低配的服务器即可,完全够用。

阿里云的ECS,最低配一个月大概35左右,参加活动还有折扣。我当时参加活动买的3年/¥650,平摊下来一个月¥18。

版本控制

防止源代码丢失的风险,不建议单独存放本地。githubgitee都是很好的选择。

推荐使用gitee,首先是国内的,不用担心墙,最重要的是gitee私有库是免费的!!!github创建私有库需要收费。

部署工具

剩下的就是部署工具了,服务器配置可以的话可以选择jenkins,否则只能手动部署。

需要用到反向代理nginx和进程管理器pm2

总结

前端:Nuxtjs

后台:Node + Koa2

数据库:MongoDB

服务器:阿里云ECS

版本控制:gitee(私有库)

部署工具:手动挡 + Nginx + pm2

项目开源

文档以及单元测试没有时间写,仅供参考,后续慢慢完善

本博客前端github:https://github.com/ZhanPhty/node-web

本博客后台github:https://github.com/ZhanPhty/node-api

编辑于: 2019-10-24 14:15:33
分享