用 vue koa 和mongo 撸了个人博客和博客管理网站

news/2024/5/3 18:42:08/文章来源:https://blog.csdn.net/weixin_34404393/article/details/89275295

作为一个前端菜鸡在校生,跟风玩了一波vue之后感觉很爽,又跟风玩了一波koa、co之后更是爽的不行不行的,于是决定搭一个个人博客,再跟风学了学mongo、mongoose之后就开始上手干了,搭好了之后又搭了个博客管理后台,昨天终于把博客上线了,今天搞了搞bug,觉得还可以看,就跟大家分享一下吧。

先上博客地址吧 我的博客

说说技术架构吧

整体来说分为三个部分,全都是前后端完全分离的

  • server 后台 包含了所有的后台服务,为博客和博客管理提供后台接口

  • client 前端 博客的前端呈现,被vue洗脑严重,界面模仿了vue博客,评论系统用的是多说(但是多说很不稳定...而且已经很久无人维护..)

  • admin 前端 博客管理平台的前端,功能上类似于带发布博客功能的印象笔记,markdown语法,预览和编写同步进行,带有自动保存功能,书写的文章只有在发布之后才会同步当前内容到博客client页面上,也完全可以当做一个笔记类应用去用,这样做的目的是出于有的时候在写文章a的时候,觉得某一部分的内容过于复杂,可以另外开一篇文章b来仔细讲解下,但是等我写完a就忘了.而且这样做了之后博客也好用多了,我经常在码代码的时候遇到一些问题,这样可以直接打开博客后台,开一篇文章记录一下遇到的问题,但是不发布出去,提醒自己需要整理一篇相关内容的文章.以后一登这个管理系统就可以看到了这篇没有没有发布过的文章,就可以整理这篇文章,等到写完之后发布出去就可以了。

client,就是博客页面啦

博客页面

博客呈现页面,基于vue(1.0),前后端通信用的fetch,评论系统用的是多说,界面模仿了vue博客,大量使用了其样式效果,还有很多要完善的地方。
由于[多说]()是基于dom的插件,使用的方式也是老掉牙的方式,大部分的使用者应该是wordpress、hexo之类搭建的同步网页而非单页应用,连源码也没有,想vue化一下都不行,所以,client端很多的坑基本都在[多说]()上了,所以,也遇到了以前很多没有遇到的情况,比如$nextTick也不能保证dom已经更新之类的,尝试了很多方案,但是结局都不是太好,甚至一度绝望的上了setTimeout(initDuoshuo,300)这种玄学代码去加载多说,不够好在今天差不多算终于解决掉多说的bug了。

技术栈

  1. Vue && vue-router

  2. fetch

  3. stylus

  4. marked && highlight

admin,也就是我写博客的页面了

列表页:

列表页

边写边预览,实时保存:

预览页

博客管理系统,也是前后端完全分离的。功能上类似于印象笔记,可以实时保存文章,觉得写好了之后可以发布文章,每次发布都会把文章同步更新到博客上,这样在client端就能看到。采用markdown语法,编辑器采用的是SimpleMDE,支持大量快捷键。

技术栈

  1. Vue && vuex && vue-router

  2. fetch

  3. stylus

  4. SimpleMDE && marked && highlight

server

基于restful,nodejs的话采用koa(koa 1),数据库用了mongo。登录这块的话用了jwt.

其实以前从没用过mongo,但是觉得还是要来玩一玩,毕竟这么火对吧。
既然用了koa,还是说两句,虽然用的是koa1,主要还是觉得koa1比较geek(啥?这也能成为理由?黑人微笑),写起来感觉屌屌的,虽然代码易读性可能没有koa2那么好,但是写的过程中加深了对于generator promise 函数式等等的理解,中间也反复看了koa的源码,也还是学到了一些东西的。

还是有很多要改的地方

这才只是刚刚完成,还要很多要改进的地方

项目地址在这,欢迎star,提issue,pr。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_770260.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站运营中5个源于眼动追踪的启发

如果网站的用户体验不佳,你很有可能因此丢掉很多转化的机会在帮助网站运营人员和设计师们了解用户如何浏览网站方面,眼动追踪的应用非常有效。许多权威的专家和机构已经在这一领域研究了数十年。下面是关于眼动追踪应用的五个结论,可能会对你…

asp.net怎么写上传图片到mysql的页面_小白怎么搭建自己的个人博客网站?云服务+WordPress教程...

【这是Python知识圈的第91篇原创】阅读文本大概需要 8 分钟。前言2 个月前 pk 哥自己动手搭建个人技术网站,一来为了让自己坚持总结,二来可以等访问量上来了赚点广告费(其实这才是主要目的,哈哈)。为什么要自己买服务器搭建网站呢&#xff1f…

自然语言0.0_情感分析权威网站_政治经济地理

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare http://sentdex.com/1m-global-sentiment-analysis/ 可加入…

精品课程网站html,《网页设计与制作》—精品课程

项目7 使用DIVCSS布局网页利用DIVCSS技术,自行规划设计如图7-1所示的网页。网页使用了DIV的多层嵌套,文本及图片的布局中使用了多种CSS样式。练习素材在文件夹exercise中的blog文件夹中的images子文件夹中。图7-1 利用DIVCSS技术制作网页页操作提示&am…

seo模拟点击软件_网站优化(SEO)过程中的72个常见问题(二)

昨天我们总共是总结了6个常见问题,今天接着为大家总结。没有看《网站优化(SEO)过程中的72个常见问题(一)》的可以先看看。然后接着过来看这几个就可以了。网站优化(SEO)过程中的72个常见问题下面,我们接着总结:问题7、百度有没有权威一点的算…

网页在线编程php,十个在线编程网站,你必须收藏

最近糖糖发现很多小伙伴在学习编程的时候,学到一些地方的时候是需要上机做题之类的。这样就需要找一些比较好的在线编程测试网站了。但是对于大家来说如果真的想学好编程还是建议大家最好不要用在线编程网站,在本地搭建环境也是很快的而且很容易促进大家…

url是网站的服务器名,URL是什么

原标题:URL是什么URL就是网页的链接地址,用户和搜索引擎需要通过URL才能访问相应的页面。URL优化是指对其适当的调整,提高URL对搜索引擎的友好性。URL优化是网站seo基础优化的重要环节之一,影响搜索引擎收录的效果,再决…

搜索引擎提交软件_SEO程序员一个会关键词优化的半个程序玩家搜索引擎优化

好客站(www.hao-blog.com)好久没更新微信公众号了,反而人越来越多,感谢各位的关注!!!由于部分时间都放在学习和SEO优化上,没太多时间为大家分享!后续将会抽出部分时间为大家分享SEO干货&#xf…

沙发家具网站源码_实木沙发,自己喜欢才是最好的!

沙发是我们每个家庭不可缺少的家具,其样式多变,风格各异,不同风格的沙发给我们的家居感受也不同,沙发选的对,就会让整个房间的价值感增强,同时彰显主人高雅、舒适的品质生活。 实木沙发稳重厚实&#xff0c…

jq 直接调用php文件_在wordpress网站模板中,怎样添加和调用公共头部模板?

在wordpress网站模板主题开发中,我们可能会碰到这样一个问题:wordpress网站前台页面的头部、侧边栏、底部的数据基本上是差不多的,有的甚至是一模一样的,这时,我们还有必要在每一个页面的头部、侧边栏、底部重复添加或…

mysql数据库乱码原因linux_乱码产生原因 - MySQL乱码问题深层分析_数据库技术_Linux公社-Linux系统门户网站...

二、乱码产生原因MySQL 字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其它大多数数据库管理系统。正因为这一特性才导致 MySQL 的乱码问题。字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。让我们使用一个假想字…

让网站添加人性化的声音提示

有时候&#xff0c;网页和客户是互动的&#xff0c;需要某些声音来提示客户&#xff0c;在这里贴段代码&#xff1a;客户端声音提示function notifyClientForMessage(){ var s "<object classid\"clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95\" id\"…

如何用 Flexbox 构建一个新闻网站布局

本文讲的是如何用 Flexbox 构建一个新闻网站布局&#xff0c;你将要创建的东西 在你刚接触 Flexbox 的时候没有必要理解关于 Flexbox 的 所有 方面。在这篇教程中&#xff0c;我们将介绍 Flexbox 的一些新特性。同时设计一种新的、像 The Guardian 一样的布局方式。 我们使用 F…

浏览器字体大小设置_外贸建站的 常用CSS设置

今天我们来说说外贸建站的 常用CSS设置 。CSS设置这方面的内容比较侧重于代码技术类&#xff0c;有些同学会觉得去研究这方面的东西太费事费力&#xff0c;投入产出比不高。事实上&#xff0c;当你掌握了这方面的相关技术&#xff0c;你对网站的前端构建会有全新的认识。一般情…

VS2019 配色_设计师必看|这10个网站可以帮你更快做好配色

本文共1189字&#xff0c;阅读大约3分钟对于一个设计师来说&#xff0c;颜色太重要了&#xff0c;但是配色是比较难的一门学问&#xff0c;不是说看几篇文章就能学会的。对于大多数人来说&#xff0c;使用网上的工具进行配色是最简单高效的方式&#xff0c;这篇文章就来介绍10个…

html网站开发与php网站开发_网站开发的三个时代:网页制作、前端开发、后端开发...

网站开发共经历了三个时代分别是“网页制作”、“前端开发”、“后端开发”。下边谈一谈这三个时代分别是怎样的&#xff0c;和千锋广州小编一起来看看吧。网页制作网页制作是Web 1.0时代的产物&#xff0c;产生在2005年左右。那个时候的网页主要是静态页面。静态页面就是能使用…

asp还有人用吗_使用Asp.net Core3amp;Blazor 的全栈式网站开发体验

编者注&#xff1a;这是一篇写于2019年8月份的文章&#xff0c;文中有些内容需要根据最新状态进行调整。以下是重要步骤截图配注解&#xff1a;一、全栈的解决方案架构.Net Core3的全栈解决方案示意图。此图的第一部分Client 是可以灵活替换的&#xff0c;哪怕它是Vue,Angular …

网站访问量怎么刷_怎样提高网站的访问量?

如今互联网发达的时代&#xff0c;建立一个网站并不难&#xff0c;难的是怎么能够让网站提现价值&#xff0c;带来更加多用户和效益的转化&#xff0c;但是网站建设完成之后开始运行&#xff0c;却发现网站访问量非常少&#xff0c;那么如何提高网站访问量呢&#xff1f;一、明…

各大网站网页代码_无需任何软件,轻松下载网页上的视频

大家好&#xff0c;我是专注营销策划和PPT技巧的JS策划人&#xff5e;我们通常会碰到这样一个难题&#xff1a;需要下载网页上的视频的时候&#xff0c;不知道怎么下载&#xff0c;去各大视频网站上搜索&#xff0c;发现都先要安装客户端&#xff0c;并且下载下来的视频文件要么…

白山搜索引擎优化收费_SEO和SEM有什么区别?做网站优化如何选择?哪个更重要?...

首先&#xff0c;要说一下,SEM和SEO两者是包含关系&#xff0c;而不是付费广告和自然排名的的并列关系。很多人搞不清两者的概念&#xff0c;就会出现SEM就是付费广告&#xff0c;SEO是自然排名的不正确理解&#xff0c;并且这种说话还被越传越广。其实两者很容易区分,举个小例…