
├── .babelrc ├── .gitignore ├── README.md ├── index.html ├── package.json ├── public ├── favicon.ico └── img │ ├── loading.svg │ ├── logo.jpg │ └── userLogo.jpeg ├── src ├── App.vue ├── assets │ ├── BiaoChenXuYing.png │ ├── FrontEndGitHub.png │ ├── bg.jpg │ ├── loading.svg │ ├── logo.jpg │ ├── logo.png │ ├── user.png │ ├── user.svg │ └── userLogo.jpeg ├── components │ ├── ArrowUp.vue │ ├── Comment.vue │ ├── CommentList.vue │ ├── CustomSlider.vue │ ├── Footer.vue │ ├── HelloWorld.vue │ ├── LoadEnd.vue │ ├── Loading.vue │ ├── Nav.vue │ └── RegisterAndLogin.vue ├── less │ ├── index.less │ ├── mobile.less │ └── monokai_sublime.less ├── main.ts ├── mixins │ └── index.ts ├── router │ └── index.ts ├── shims-vue.d.ts ├── store │ ├── index.ts │ ├── modules │ │ └── user.ts │ └── types.ts ├── types │ └── index.d.ts ├── utils │ ├── config.ts │ ├── https.ts │ ├── markdown.ts │ ├── mockTest.ts │ ├── urls.ts │ └── utils.ts └── views │ ├── Archive.vue │ ├── ArticleDetail.vue │ ├── Articles.vue │ ├── Home.vue │ ├── Message.vue │ ├── Project.vue │ └── Timeline.vue ├── tsconfig.json └── vite.config.ts /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | [ 4 | "component", 5 | { 6 | "libraryName": "element-plus", 7 | "styleLibraryName": "theme-chalk" 8 | } 9 | ] 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local 6 | yarn.lock 7 | package-lock.json 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ## 简介 5 | 6 | **项目已经用 Vue3 + TypeScript + Vite2 + Vuex4 + Vue-Router4 + element-plus 重构完啦!** 7 | 8 | Vue2 版本请点这里:[基于 Vue2 全家桶 + TypeScript + Element-UI](https://github.com/biaochenxuying/blog-vue-typescript/tree/vue2) 或者 [v2.0.0](https://github.com/biaochenxuying/blog-vue-typescript/releases/tag/v2.0.0) 9 | 10 | --- 11 | 12 | 此项目是基于 Vue3 全家桶 + TypeScript + element-plus 技术栈的简洁时尚博客网站。 13 | 14 | 项目详情请猛戳该文章: 15 | 16 | - [Vue3 全家桶 + TS+ Vite2 + element-plus 搭建简洁时尚的博客网站实战及踩坑记](https://juejin.cn/post/6924687052005081095) 17 | 18 | 19 | ## 效果 20 | 21 | 效果图: 22 | 23 | - pc 端 24 | 25 |  26 | 27 | 28 | - 移动端 29 | 30 |  31 | 32 | 33 | 34 | 35 | 36 | ## 功能 37 | 38 | ### 已经完成功能 39 | 40 | - [x] 登录 41 | - [x] 注册 42 | - [x] 文章列表 43 | - [x] 文章归档 44 | - [x] 标签 45 | - [x] 关于 46 | - [x] 点赞与评论 47 | - [x] 留言 48 | - [x] 历程 49 | - [x] 文章详情(支持代码语法高亮) 50 | - [x] 文章详情目录 51 | - [x] 移动端适配 52 | - [x] github 授权登录 53 | 54 | 55 | [⬆️ 返回顶部](##简介) 56 | 57 | ## 前端主要技术 58 | 59 | 所有技术都是当前最新的。 60 | 61 | - vue: ^3.0.5 62 | - typescript : ^4.1.3 63 | - element-plus: ^1.0.2-beta.41 64 | - vue-router : ^4.0.6 65 | - vite: ^2.2.3 66 | - vuex: ^4.0.0 67 | - axios: ^0.21.1 68 | - highlight.js: ^10.7.2 69 | - marked:^2.0.3 70 | 71 | 72 | [⬆️ 返回顶部](##简介) 73 | 74 | ## Build Setup 75 | 76 | ``` 77 | # clone 78 | git clone https://github.com/biaochenxuying/blog-vue-typescript.git 79 | ``` 80 | 81 | ``` 82 | # cd 83 | cd blog-vue-typescript 84 | ``` 85 | 86 | ``` 87 | # install dependencies 88 | npm install 89 | ``` 90 | 91 | ``` 92 | # Compiles and hot-reloads for development 93 | npm run dev 94 | ``` 95 | 96 | ``` 97 | # Compiles and minifies for production 98 | npm run build 99 | ``` 100 | 101 | 102 | 如果要看有后台数据完整的效果,是要和后台项目 **[blog-node](https://github.com/biaochenxuying/blog-node)** 一起运行才行的,不然接口请求会失败。 103 | 104 | 105 | 106 | 107 | [⬆️ 返回顶部](##简介) 108 | 109 | 110 | ## 项目地址与文档教程 111 | 112 | **项目地址:** 113 | 114 | > [vue 前台展示: https://github.com/biaochenxuying/blog-vue-typescript](https://github.com/biaochenxuying/blog-vue-typescript) 115 | 116 | > [react 前台展示: https://github.com/biaochenxuying/blog-react](https://github.com/biaochenxuying/blog-react) 117 | 118 | > [管理后台:https://github.com/biaochenxuying/blog-react-admin](https://github.com/biaochenxuying/blog-react-admin) 119 | 120 | > [后端:https://github.com/biaochenxuying/blog-node](https://github.com/biaochenxuying/blog-node) 121 | 122 | > [blog:https://github.com/biaochenxuying/blog](https://github.com/biaochenxuying/blog) 123 | 124 | **本博客系统的系列文章:** 125 | 126 | - [0. Vue3 全家桶 + TS+ Vite2 + element-plus 搭建简洁时尚的博客网站实战及踩坑记](https://juejin.cn/post/6959174069577220110) 127 | - [0. Vue3 全家桶 + Element Plus + Vite + TypeScript + Eslint 项目配置最佳实践](https://juejin.cn/post/6924687052005081095) 128 | - [1. react + node + express + ant + mongodb 的简洁兼时尚的博客网站](https://juejin.cn/post/6844903718345768973) 129 | - [2. react + Ant Design + 支持 markdown 的 blog-react 项目文档说明](https://juejin.cn/post/6844903719260127239) 130 | - [3. 基于 node + express + mongodb 的 blog-node 项目文档说明](https://juejin.cn/post/6844903721680240653) 131 | - [4. 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的](https://juejin.cn/post/6844903721827041293) 132 | - [5. github 授权登录教程与如何设计第三方授权登录的用户表](https://juejin.cn/post/6844903789091094542) 133 | - [6. 一次网站的性能优化之路 -- 天下武功,唯快不破](https://juejin.cn/post/6844903798692020237) 134 | - [7. Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记](https://juejin.cn/post/6844903810457042957) 135 | - [8. 前端解决第三方图片防盗链的办法 - html referrer 访问图片资源403问题](https://juejin.cn/post/6844903869755949069) 136 | 137 | 138 | [⬆️ 返回顶部](##简介) 139 | 140 | 141 | ## 服务器 142 | 143 | 笔者觉得每个开发者都应该拥有自己的网站和服务器,这可是很酷的事情,学习 Linux、跑跑脚本、建站、搭博客啥的都行啊。 144 | 145 | 因为笔者就有自己的服务器,而且有两台了,用于平时的学习,还搭建了自己的网站。 146 | 147 | 有不少读者问过我,为什么我学的那么快的呢 ? 怎么在一年内学了那么知识的... 148 | 149 | 其实也没什么秘决,就是平时有自己的服务器了,就爱折腾,学到的知识能很快得到验证,所以学起来兴致高一点。 150 | 151 | 特别是大三和大四的学生,买了服务器,搭建个项目给面试官看也香,对找工作和面试都加分,还可以熟悉技术栈。 152 | 153 | 阿里云、腾讯云、华为云 都有,这里购买就是最优惠: [低于 1 折、89/年、229/3年,比学生机还便宜](https://github.com/biaochenxuying/biaochenxuying/issues/1)) 154 | 155 | 比如笔者的两个网站: 156 | 157 | 158 | 159 | > https://www.kwgg2020.com/ 160 | 161 | 162 | [⬆️ 返回顶部](##简介) 163 | 164 | 165 | ## 项目推荐 166 | 167 | 168 | > 专注于挖掘优秀的前端开源项目,抹平你的前端信息不对称的项目:https://github.com/FrontEndGitHub/FrontEndGitHub 169 | 170 | > 以最优惠的方式购买极客时间课程:https://github.com/biaochenxuying/preferential-courses ,涵盖了后端、架构、前端、移动、人工智能、大数据、产品、运营、运维、测试等 171 | 172 | 173 | [⬆️ 返回顶部](##简介) 174 | 175 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 9 | 10 |{{ count }}
14 | 15 | 16 | 41 | -------------------------------------------------------------------------------- /src/components/LoadEnd.vue: -------------------------------------------------------------------------------- 1 | 2 |{{formatTime(item.create_time)}}
26 |{{article.desc}}
31 | 42 |{{l.content}}
14 |15 | 16 | {{formatTime(l.start_time)}}-- 17 | 18 | 19 | {{formatTime(l.end_time)}} 20 | 21 |
22 |