Coder Social home page Coder Social logo

hyl-blog's Introduction

简介

在前端技术不断变革得时代,必须养成一个良好学习习惯。而博主又是一个自制力很差得人,而为了学而去学,对我来说效率也是很低的。

后来某一天我就突发奇想,既然我是一个前端,为啥不做一个只属于自己的网站,用来学习,记录自己。这样应该更有成就感且学起来也有动力,还能把自己的所学展示给别人看,慢慢这个想法越来越强烈。

我先是尝试了 vuepress 和 Hexo 等静态博客。但这类博客只可少量定制化,没有后台管理,每次更新文章还得重新发版,非常难受。我希望我自己的博客在我手中完全可控,一丝一毫都可以被我掌握,通过后台管理页面,可以实时更新、发布文章,非常方便这样才显得安心和舒适。

于是在 22 年 4 月份开始,我才下定决心,从零开始一点一点码出了这个博客,前端、后端、部署上线,域名配置均由我自己独立完成。求指点~

图片已失效

线上地址

https://hyl999.co

运行项目

克隆代码后,运行以下命令:

npm i

安装依赖

npm run dev

本地运行代码

npm run build

打包代码

npm run deploy

部署代码

目录结构

目录 描述
assets 静态目录
components 公共组件
config router、store 等配置文件
hooks 自定义 hooks
Layout 博客布局
style 公共样式
types 全局 typescript 类型定义
utils 公共工具函数
views 所有路由模块

实现功能

前台

  1. 首页、文章、日志、留言、友情链接、作品、关于等页面模块。
  2. 登录(包括 qq 和微信登录)
  3. 主题切换、黑夜模式、回到顶部 (侧边小工具栏)
  4. 用户可以评论与回复、以及邮件通知回复的状态
  5. 背景音乐(左下角播放器)
  6. 文章锚点导航
  7. 文章置顶
  8. 移动端适配:媒体查询+rem
  9. 全局搜索
  10. 免费 chatgpt,官方 api 接口,无需梯子,速度快 ....

图片已失效

后台

所有前台数据的增删改查、登录、游客访问

图片已失效

域名

可以省略域名前缀访问

http 访问自动跳转 https

技术栈

  • 博客前台:(基于 CRA 搭建) react18 + antd5 + redux + tsx
  • 博客后台:(基于 vue-cli 搭建) vue3 + element plus
  • 后端:(自建 nodejs 后台项目) koa2 + mysql
  • 部署上线:腾讯云 CentOS + nginx + pm2

性能优化

  • 全站使用了 cdn 加速
  • 全站静态资源设置了强缓存
  • 全站使用了 http2
  • 所有图片使用了懒加载
  • 所有路由模块使用了懒加载
  • 背景图、背景音乐使用了预加载
  • 文章,日志等使用了下拉加载
  • 搜索防抖,下拉监听节流
  • 网站首次加载有 loading 效果,而不是白屏

特别说明

除了 react、antd,其他我尽量使用自己封装的组件,hooks,工具函数等。基本没有使用第三方的依赖。一是为了减小代码体积,二是培养自己的封装能力

我已经把我这个网站封装的所有函数做成了一个 npm 包《npm i hyl-utils》。有 ajax、cookie、时间格式化等工具函数,都是使用原生 js 封装,如果有需要也可以自取的哈

hyl-blog's People

Contributors

xinnian999 avatar huyilin666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.