node-blog:用 node 搭建的个人开源博客
时间:2022-07-25
本文章向大家介绍node-blog:用 node 搭建的个人开源博客,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这个项目是为了学习 node 而建的,从前端到后端一手包办。相对来说,还是有一定难度的,适合有一定编程基础的人进阶学习。
如果有问题,欢迎提 issues
注意,本项目的前后端代码都是放在一起的,前端代码放在 src
目录,后端代码放在 server
目录。
在线预览
由于服务器网速原因,加载时间较久
相关文档
- 多个请求下 loading 的展示与关闭
- Vue 实现前进刷新,后退不刷新的效果
- Vue 页面权限控制和登陆验证
- 用 node 搭建个人博客(一):代码热更新
- 用 node 搭建个人博客(二):导出模块同时兼容 import 和 require
- 用 node 搭建个人博客(三):token
- 用 node 搭建个人博客(四):评论功能
- 用 node 搭建个人博客(五):数据库
- 阿里云服务器部署个人网站
- 性能优化--开启 gzip 压缩
前端页面
- 首页(index)包含内容及标签子页面
- 编辑(editor)
- 登陆(login)
- 管理(manage)
使用的库、框架
前端
后端
数据库
测试
使用
注意
- 登陆入口在页面脚部的 Copyright ©2019 woai3c
- 博客内容、评论使用的都是
markdown
语法
需要先下载 mongodb,建议按照windows 安装教程一步步安装。
在安装完 mongodb 后,克隆项目。
git clone https://github.com/woai3c/node-blog.git
在运行前还得进行一些准备工作:
因为没有注册功能,所以在使用前需要先把用户信息添加到数据库。
打开 mongod.exe
,再打开 mongo.exe
,在 mongo.exe
打开的命令行进行如下操作:
创建数据库
use blog
创建 user 集合,用来保存用户信息
db.createCollection('user')
添加用户信息
db.user.insert({
user: 'admin', // 用户名 随意填写
password: 'admin', // 密码 随意填写
visits: 0, // 博客访问次数 每次刷新网站 自增1
token: '', // 用户登录创建 token 后,保存在这
})
接下来就可以开始运行项目了。
安装依赖
npm i
开发环境(前端代码热更新,修改完即可查看效果,后端代码修改完需要重启服务)
npm run dev
生产环境 (打包并开启服务,打包过程有点长,需要等待)
npm run build
测试
npm run test
访问地址
http://localhost:8080/
- 一个完整的用于追踪数据改变的解决方案
- C# 4.0新特性-"协变"与"逆变"以及背后的编程思想
- 通过内存分析工具来证明字符串驻留机制
- 如果在BackgroundWorker运行过程中关闭窗体…
- 从数据到代码——基于T4的代码生成方式
- 解决T4模板的程序集引用的五种方案
- 编写T4模板进行代码生成无法避免的两个话题:"Assembly Locking"&"Debug"
- 从yield关键字看IEnumerable和Collection的区别
- 让“链式调用(方法链)”更加自然一点
- ASP.NET应用下基于SessionState的“状态编程框架”解决方案
- 为自定义配置的编辑提供”智能感知”的支持
- 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?
- 在ASP.NET MVC中如何应用多个相同类型的ValidationAttribute?
- [ASP.NET MVC]如何定制Numeric属性/字段验证消息
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 『AI实践学』测试深度学习框架GPU版本是否正确安装方法:TensorFlow,PyTorch,MXNet,PaddlePaddle
- 使用Github管理Hexo博客的源文件
- oracle的userenv和nls_lang详解
- 打卡群刷题总结0925——最佳买卖股票时机含冷冻期
- 备忘:美化pymol作图1
- 宿舍(寝室)管理系统设计与实现 | 附 演示、源码地址
- Oracle字符集检查和修改
- Vue3 DOM Diff 核心算法解析
- PHP的LZF压缩扩展工具
- Python函数定义及参数详解
- 代码失而复得心塞往事 - git stash命令
- 如何通过 Shell 监控异常等待事件和活跃会话
- PHP中环境变量的操作
- 一文读懂JAVA并发容器类ConcurrentHashMap
- Creator3D新版本震撼来袭