基于node.js+css+html+mysql博客系统

创建一个简单的Node.js博客系统涉及到后端的基础知识,包括Node.js的HTTP服务器构建、路由处理、数据库连接、以及模板引擎的使用。以下是一个简化的例子,展示了如何使用Express框架和MySQL数据库创建一个基本的博客系统。

首先,确保你已经安装了Node.js和MySQL。

  1. 创建一个新的Node.js项目,并安装必要的包:



mkdir blog-system
cd blog-system
npm init -y
npm install express express-handlebars mysql
  1. 创建一个简单的博客系统的文件结构:



blog-system/
│
├── app.js
├── package.json
├── package-lock.json
└── views/
    ├── index.handlebars
    └── post.handlebars
  1. 编写app.js来设置HTTP服务器和路由:



const express = require('express');
const handlebars = require('express-handlebars');
const mysql = require('mysql');
 
const app = express();
 
// 配置Handlebars模板引擎
app.engine('handlebars', handlebars({
    defaultLayout: 'main'
}));
app.set('view engine', 'handlebars');
 
// 配置MySQL数据库
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'your_username',
    password: 'your_password',
    database: 'blog_db'
});
connection.connect();
 
// 博客首页路由
app.get('/', (req, res) => {
    res.render('index', { title: 'Blog Home' });
});
 
// 博客文章路由
app.get('/post/:id', (req, res) => {
    const postId = req.params.id;
    // 从数据库获取文章并渲染
    connection.query(`SELECT * FROM posts WHERE id = ${postId}`, (error, results) => {
        if (error) throw error;
        res.render('post', { post: results[0] });
    });
});
 
app.listen(3000, () => {
    console.log('Server running on port 3000');
});
  1. views/目录下创建Handlebars模板文件:

views/index.handlebars:




<h1>{{title}}</h1>
<!-- 文章列表 -->

views/post.handlebars:




<h1>{{post.title}}</h1>
<p>{{post.content}}</p>

views/layouts/main.handlebars:




<!DOCTYPE html>
<html>
<head>
    <title>{{title}}</title>
</head>
<body>
    {{{body}}}
</body>
</html>

确保你已经创建了blog_db数据库和一个posts表,表中包含id, title, 和 content字段。

这个简单的博客系统只包含了基础的功能,如获取文章列表和单个文章。在实际应用中,你可能需要添加用户认证、评论系统、搜索功能等。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日