百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

Node.js入门:从零开始搭建个人博客

yund56 2025-03-17 19:40 19 浏览

随着互联网的快速发展,个人博客作为一种重要的网络信息载体,依然是许多开发者展示技术成果和分享经验的重要平台。使用Node.js和Express框架可以快速实现一个简洁高效的博客系统,同时也能帮助我们理解后端服务的基本原理。

本文将从零开始,手把手教你使用Node.js和Express搭建一个简单的个人博客系统。


一、项目初始化

在开始之前,我们需要确保已经安装了Node.js和npm。如果尚未安装,可以访问Node.js官网下载并安装最新版本的Node.js。

接下来,我们创建一个新的文件夹,并初始化一个Node.js项目:

mkdir my-blog && cd my-blog
npm init -y

这会生成一个package.json文件,用于管理项目的依赖和脚本。接下来,我们需要安装Express框架和其他必要的依赖:

npm install express ejs

o express: Node.js的高效轻量级Web框架。

o ejs: 一个简洁的模板引擎。


二、创建博客的基本结构

我们将在项目目录下创建以下文件和文件夹:

my-blog/
├── package.json
├── public/ # 静态资源目录(可选)
├── routes/ # 路由处理逻辑
├── views/ # 模板文件
└── app.js # 主应用文件


三、配置Express应用

在app.js中,我们需要完成以下步骤:

1. 引入Express模块:

const express = require('express');
const app = express();
const port = 3000;

2. 配置模板引擎:

app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');

3. 设置静态资源目录(可选):

app.use(express.static(__dirname + '/public'));

4. 定义路由:

// 首页路由
app.get('/', (req, res) => {
res.render('index', {
title: '我的博客',
posts: [
{ id: 1, title: 'Hello World', content: '这是我的第一篇博客文章...' },
{ id: 2, title: '学习Node.js', content: 'Node.js是一门值得学习的语言...' }
]
});
});

// 文章详情页路由
app.get('/post/:id', (req, res) => {
const postId = req.params.id;
// 假设我们从数据库中获取文章数据,这里使用静态数据示例:
const posts = [
{ id: 1, title: 'Hello World', content: '这是我的第一篇博客文章...' },
{ id: 2, title: '学习Node.js', content: 'Node.js是一门值得学习的语言...' }
];

const post = posts.find(post => post.id === parseInt(postId));
if (!post) {
res.status(404).send('文章不存在');
} else {
res.render('post', {
title: post.title,
content: post.content
});
}
});

5. 启动服务器:

app.listen(port, () => {
console.log(`博客已启动,访问地址为 http://localhost:${port}`);
});


四、创建模板文件

在views/目录下创建以下EJS模板文件:

index.ejs(首页)

<!DOCTYPE html>


</span><span style='color: #FF0000; --tt-darkmode-color: #FF0C00;'><</span></strong>%= title %><strong><span style='color: #007020; --tt-darkmode-color: #4ED775;'>


<%= title %>




    <% posts.forEach(post => { %>

  • <a href="/post/<%= post.id %>"><%= post.title %>

    <%= post.content %>



  • <% }); %>


<a href="/post/1">查看更多文章



post.ejs(文章详情页)

<!DOCTYPE html>


</span><span style='color: #FF0000; --tt-darkmode-color: #FF0C00;'><</span></strong>%= title %><strong><span style='color: #007020; --tt-darkmode-color: #4ED775;'>


<%= title %>




<%= content %>



五、运行博客

启动服务器:

node app.js

打开浏览器,访问http://localhost:3000即可看到你的个人博客。


六、扩展功能

目前的博客系统非常基础,你可以根据需求添加更多功能:

1. 用户认证:使用 Passport 或其他身份验证库实现用户登录和注册。

2. 数据库集成:将文章数据存储到 MongoDB 或 MySQL 数据库中。

3. 评论功能:为每篇文章添加评论模块。

4. 富文本编辑:使用 CKEditor 等工具帮助用户更方便地撰写文章。

5. 静态资源优化:将 CSS 和 JavaScript 文件托管到 CDN,或使用Webpack进行打包。


七、部署博客

当你的博客功能完善后,可以将其部署到云服务器上(如阿里云、AWS、DigitalOcean等)。常见的部署方式包括:

1. 使用 pm2 管理进程:

npm install -g pm2
pm2 start app.js
pm2 save

2. 部署到容器化平台(如 Docker)。


总结

通过以上步骤,我们已经完成了一个简单的个人博客系统的搭建。虽然功能有限,但这个过程涵盖了Node.js和Express框架的基础知识,包括路由处理、模板引擎的使用以及基本的后端逻辑实现。

随着对技术的深入学习,你可以逐步为博客添加更多高级功能,使其更加完善和强大。无论是技术分享还是个人展示,这样一个基于 Node.js 的博客系统都能很好地满足你的需求!

相关推荐

SM小分队Girls on Top,女神战队少了f(x)?

这次由SM娱乐公司在冬季即将开演的smtown里,将公司的所有女团成员集结成了一个小分队project。第一位这是全面ACE的大姐成员权宝儿(BoA),出道二十年,在日本单人销量过千万,韩国国内200...

韩国女团 aespa 首场 VR 演唱会或暗示 Quest 3 将于 10 月推出

AmazeVR宣布将在十月份举办一场现场VR音乐会,观众将佩戴MetaQuest3进行体验。韩国女团aespa于2020年11月出道,此后在日本推出了三张金唱片,在韩国推出了...

韩网热议!女团aespa成员Giselle在长腿爱豆中真的是legend

身高163的Giselle,长腿傲人,身材比例绝了...

假唱而被骂爆的女团:IVE、NewJeans、aespa上榜

在韩国,其实K-pop偶像并不被认为是真正的歌手,因为偶像们必须兼备舞蹈能力、也经常透过对嘴来完成舞台。由于科技的日渐发达,也有许多网友会利用消音软体来验证K-pop偶像到底有没有开麦唱歌,导致假唱这...

新女团Aespa登时尚大片 四个少女四种style

来源:环球网

韩国女团aespa新歌MV曝光 画面梦幻造型超美

12月20日,韩国女团aespa翻唱曲《DreamsComeTrue》MV公开,视频中,她们的造型超美!WINTER背后长出一双梦幻般的翅膀。柳智敏笑容甜美。宁艺卓皮肤白皙。GISELLE五官精致...

女网友向拳头维权,自称是萨勒芬妮的原型?某韩国女团抄袭KDA

女英雄萨勒芬妮(Seraphine)是拳头在2020年推出的第五位新英雄,在还没有正式上线时就备受lsp玩家的关注,因为她实在是太可爱了。和其他新英雄不同的是,萨勒芬妮在没上线时就被拳头当成虚拟偶像来...

人气TOP女团是?INS粉丝数见分晓;TWICE成员为何在演唱会落泪?

现在的人气TOP女团是?INS粉丝数见分晓!现在爱豆和粉丝之间的交流方法变得多种多样,但是Instagram依然是主要的交流手段。很多粉丝根据粉丝数评价偶像的人气,拥有数百、数千万粉丝的组合作为全球偶...

韩国女团MVaespa Drama MV_韩国女团穿超短裙子跳舞

WelcometoDrama.Pleasefollow4ruleswhilewatchingtheDrama.·1)Lookbackimmediatelywhenyoufe...

aespa师妹团今年将出道! SM职员亲口曝「新女团风格、人数」

记者刘宛欣/综合报导南韩造星工厂SM娱乐曾打造出东方神起、SUPERJUNIOR、少女时代、SHINee、EXO等传奇团体,近年推出的aespa、RIIZE更是双双成为新生代一线团体,深受大众与粉丝...

南韩最活跃的女团aespa,新专辑《Girls》即将发布,盘点昔日经典

女团aespa歌曲盘点,新专辑《Girls》即将发布,期待大火。明天也就是2022年的7月8号,aespa新专辑《Girls》即将发行。这是继首张专辑《Savage》之后,时隔19个月的第二张专辑,这...

章泽天女团aespa出席戛纳晚宴 宋康昊携新片亮相

搜狐娱乐讯(山今/文玄反影/图科明/视频)法国时间5月23日晚,女团aespa、宋康昊、章泽天等明星亮相戛纳晚宴。章泽天身姿优越。章泽天肩颈线优越。章泽天双臂纤细。章泽天仪态端正。女团aespa亮...

Aespa舞台暴露身高比例,宁艺卓脸大,柳智敏有“TOP”相

作为SM公司最新女团aespa,初舞台《BlackMamba》公开,在初舞台里,看得出来SM公司是下了大功夫的,虽然之前SM公司新出的女团都有很长的先导片,但是aespa显然是有“特殊待遇”。运用了...

AESPA女团成员柳智敏karina大美女

真队内速度最快最火达成队内首个且唯一两百万点赞五代男女团中输断层第一(图转自微博)...

对来学校演出的女团成员语言性骚扰?韩国这所男高的学生恶心透了

哕了……本月4日,景福男子高中相关人士称已经找到了在SNS中上传对aespa成员进行性骚扰文章的学生,并开始着手调查。2日,SM娱乐创始人李秀满的母校——景福高中迎来了建校101周年庆典活动。当天,S...