使用 nodejs 搭建个人博客

article/2025/11/10 14:53:17

"使用nodejs搭建自己的个人博客"

    • 说明
    • 运行
    • 后端 node 模块
          • 后端框架采用的是 express 框架进行接口构建,具体解释如下:
          • 数据库参数配置
          • 评论邮箱提示
          • 付费文件下载配置(支付宝)
          • 评论语句检测
    • `关于跨域问题的解决`

说明

使用nodejs搭建自己的博客 网站需要会 node 基础, 基本的html, css 以及JavaScript 基础,这里我使用的是 layui 模板(来自开源模板)。

如果文件运行有问题可以私聊解答哦!!

源文件压缩包地址(包含 sql 文件):

源文件下载地址

博客运行截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运行

  1. 下载源代码解压
  2. 在根目录下面执行 npm install 或者 cnpm install 进行项目初始化
  3. 在终端进入到 bin 目录下 执行 node www.js
  4. 执行成功后 打开网页 localhost:80 或者 127.0.0.1:80 即可

注意: 在 npm 初始化的时候可能会要求安装其他东西, 缺啥安装啥就可。

后端 node 模块

后端框架采用的是 express 框架进行接口构建,具体解释如下:

emm,忽略命名不堪入目

在router文件下面的代码块:

  getList,newBlog,updateBlog,delBlog,comment1, // 博客一级评论comment2, //回复评论ZDF, // 对博客进行置顶处理classFic, // 新建博客分类delClassFic, // 删除博客分类,LiveMessage, // 新建留言,LiveMessageBack, // 新建留言回复diary, // 新建日记表URLList, // 新建友情链接PeopleList, // 新建最近访问人员列表getLiveList, // 获取留言内容,getLive2List, // 获取二级留言内容getDiaryList, // 获取日记内容,getlinkList, // 获取友情链接信息browseAdd, // 实现单篇博客浏览量加一classFicList, // 获取博客类别HotARC, // 根据浏览量获取前8 的文章getBlog, // 根据博客ID获取博客详情,topBlog, // 获取置顶博客ID,getcommentList, // 获取评论信息getcommentBackList, // 获取评论回复信息getBlogClass, // 根据类别查找博客getBlogSearch, // 模糊查询getVistor, // 获取最近访客数据Blogzan, // 用户IPgetDianzan, // 查询点赞IPupdateZan, // 点赞加一

以上是来自 ../controller/blog 文件下面的哥哥函数导出,具体函数功能请参考 ../controller/blog/文件下面的 blog.js

注: user 是用户文件,包括的函数有注册登录

数据库参数配置

在db文件下面的 mysql 进行数据库连接(具体数据库表格文件在源文件压缩包中)

MYSQL_CONF = {host: '',// 服务器ipuser: '',// 用户名password: '', // 密码port: '', // 端口database: '' // 数据库名称
}
评论邮箱提示

在用户留言或者评论博文的时候会通过邮箱提示 某人回复了,该功能默认不开放,如果需要使用自行申请QQ邮箱或者163邮箱,配置代码块如下:


//创建一个smtp服务器
const config = {host: 'smtp.qq.com',port: 465,auth: {user: '', //注册的163邮箱账号pass: '' //邮箱的授权码,不是注册时的密码,等你开启的stmp服务自然就会知道了}
};
付费文件下载配置(支付宝)

在博客的详情页拥有附件付费下载功能,该功能默认开放,如果需要使用请前往支付宝开发中心申请,不使用请自行关闭,配置文件夹路径根目录/alipay_config.js 参数配置如下:

// 这里配置基本信息
const AlipayBaseConfig = {appId: '', // 应用 IDprivateKey: fs.readFileSync(path.join(__dirname, './sandbox-pem/private_pem2048.txt'), 'ascii'), // 应用私钥alipayPublicKey: '', //支付宝公钥gateway: 'https://openapi.alipaydev.com/gateway.do', // 支付宝的应用网关charset: 'utf-8',version: '1.0',signType: 'RSA2'
};

注: 秘钥签名文件夹放在 sandbox-pom 文件夹中。

评论语句检测

评论语句检测是为了防止评论区的不文明发言,该方法使用的是百度ai接口语义检测,默认不开启,如果需要使用请前往百度ai配置即可,修
router/blog.js 下面的代码 在接口的 access_token 补齐即可:

router.post('/baiduAPI_qinggan', (req, res, next) => {var text = req.body.text || '暂无'request({url: "https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token=", //请求路径method: "POST", //请求方式,默认为getheaders: { //设置请求头"content-type": "application/json",},body: JSON.stringify({"text": text}) //post参数字符串}, function(error, response, body) {res.json(new SuccessModel(JSON.parse(body)))});});

关于跨域问题的解决

在 node 中关于跨域问题的解决

设置所有域名允许跨域:

app.all("*",function(req,res,next){//设置允许跨域的域名,*代表允许任意域名跨域res.header("Access-Control-Allow-Origin","*");//允许的header类型res.header("Access-Control-Allow-Headers","content-type");//跨域允许的请求方式 res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");if (req.method.toLowerCase() == 'options')res.send(200);  //让options尝试请求快速结束elsenext();
}

指定域名跨域:

app.all("*",function(req,res,next){//设置允许跨域的域名,*代表允许任意域名跨域res.header("Access-Control-Allow-Origin","http://www.xianglansweb.com");//允许的header类型res.header("Access-Control-Allow-Headers","content-type");//跨域允许的请求方式 res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");if (req.method.toLowerCase() == 'options')res.send(200);  //让options尝试请求快速结束elsenext();
}

但是在实际的项目中前后端分离跨域问题却很难解决,因此只要在一个域中就自然而然的不会出现跨域。

具体步骤:

在node 的 app.js中进行资源开放 public 文件夹:

app.use(express.static(path.join(__dirname, 'public')));

然后直接运行 node 后根据路径访问 .html 文件即可。

如果想要路由好看直接在 app.js 中进行路由配置即可, 如下:

app.get('/', function(req, res) {res.sendFile(__dirname + "/public" + "/xl-BLOG/index.html")
});

http://chatgpt.dhexx.cn/article/uGv57Eho.shtml

相关文章

超详细图解:如何使用 WordPress搭建一个个人博客?

前两天我用WordPress 给自己搭建了一个网站,整个过程非常的顺利,体验非常地好,于是我就整个过程、以及其中的一些搭建心得,记录下来。 如果你也正好有搭建个人网站的想法,那么本文会给你一个参考,也许看了这…

个人博客网站的设计与实现

/ 前话 / 纯手工敲代码,代码结构简单,divcss布局html静态个人博客首页网页设计,dreamwaver和hb都可以编辑,文件结构包含了css、fonts、images、js和html,运用html5技术,包括nav标签、header标签和footer标签…

个人博客系统毕业设计开题报告

本文给出的是本科生个人博客系统的毕业设计开题报告,仅供参考!(具体模板和要求按照自己学校给的要求) 毕业设计开题报告 一、选题意义二、博客系统概述三 、毕业设计研究方案四、功能结构图五、进度安排六、参考文献 一、选题意义…

基于HTML个人博客网站项目的设计与实现——个人博客作品展示6页 HTML+CSS

Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 个人博客网站 | 个人主页介绍 | 个人简介 | 个人博客设计制作 | 等网站的设计与制作 | 大学生个人HTML网页设计作品 | HTML期末大学生网页设计作业 HTML:结构 CSS&…

HTML制作个人网页制作(简单静态HTML个人博客网页作品)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

个人主页博客网页设计制作HTML5+CSS大作业——清新春暖花开个人博客网站(6页)

HTML5CSS大作业——清新春暖花开个人博客网站(6页) 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄…

如何使用HTML制作个人网站(如何搭建个人博客)

📂文章目录 一、👨‍🎓网站题目二、✍️网站描述三、📚网站介绍四、🌐网站演示五、⚙️ 网站代码🧱HTML结构代码💒CSS样式代码 六、🥇 如何让学习不再盲目七、🎁更多干货…

10分钟搭建一个免费个人博客网站

一个程序员怎么能不拥有自己的博客,本文让10分钟快速搭建部署好自己的博客 准备工作 有Gitee账号有安装git会 markdown 编写文档Node.js 版本 > 8.6 博客采用VuePress搭建,Gitee部署,接下来,5步搞定。 1.创建项目 创建项目…

用html制作学生个人博客,网页制作论坛(学生个人网页制作代码)

许多开发人员认为擅长设计是一种天生的能力,而创造力是与生俱来的。但是设计是一项可以像其他任何东西一样学习的技能。你不必天生就可以创建一个漂亮的网站的艺术家,这需要实践。在身边的小伙伴的博客,自己的网站来看,很多人都是用了开源后台的网站模板,熟不知局限太大,…

个人网站、个人博客的设计案例,仅供参考

关于网站的内容,我也是纠结了好久,我这里说的是网站建设的内容。个人网站,大多数人还是做个博客,想着能平时写点内容,发点文章,图片,一些简短的分享什么的。 好,想到就做。 我做了…

如何用html制作博客页面,HTML个人博客页面

知识点总结:下面的是一个个人博客页面,歌词的段落用的时“p”标签,超链接为“a”标签。 包括鼠标经过的事件:颜色变换;去顶部去底部和指定位置:写入的锚点,点击后可以到制定位置。 刚开始学习ht…

手把手教你十五分钟搭建个人博客网站

文章目录 一、下载二、上传服务器与配置三、加备案号四、关闭所有评论五、删除自豪采用wordpress六、优雅主题配置七、安装md编译器八、自定义站点九、发一篇博客 一、下载 https://cn.wordpress.org/download/下载一个就行: 二、上传服务器与配置 解压&#xff…

HTML+CSS大作业: 个人介绍网页制作作业 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人博客网站制作成品下载

HTML5期末大作业:个人介绍网站设计——个人博客(6页) HTMLCSSJavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、…

个人博客网站建设详细版

前言:在讲个人博客,我要向机灵鹤大佬致以最高的敬意!感谢他提出的技术指导,本章我将以我犯的错误一步步讲述。 1. 购买服务器 我是在阿里购买的服务器,因为我是一名学生的原因我通过认证学生身份参加了阿里云高校计划…

HTML5+CSS大作业——清新春暖花开个人博客网站(6页)

HTML5CSS大作业——清新春暖花开个人博客网站(6页) 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄…

大学生个人网页设计 HTML个人网页制作 web个人网站模板 简单静态HTML个人网页作品

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

SpringBoot注解详解

一、简介 基于 SpringBoot 平台开发的项目数不胜数,与常规的基于Spring开发的项目最大的不同之处,SpringBoot 里面提供了大量的注解用于快速开发,而且非常简单,基本可以做到开箱即用! 那 SpringBoot 为开发者提供了多少注解呢?…

Spring常用注解详解大全(建议收藏)

SuppressWarnings(“deprecation”)**就表示我们忽略了deprecation这样的一个警告。 JDK注解作用总结: Override 表示当前方法覆盖了父类的方法 Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。 SuppviseWarnings 表示关闭一些警告信息…

Spring注解开发详解

学习基于注解的 IOC 配置,大家脑海里首先得有一个认知,即注解配置和 xml 配置要实现的功能都是一样的,都是要降低程序间的耦合。只是配置的形式不一样。 关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用习惯 , 所以这…

spring注解注入详解

1、Spring配置 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:context"http://www.springframe…