基于node.js+css+html+mysql博客系统
创建一个简单的Node.js博客系统涉及到后端的基础知识,包括Node.js的HTTP服务器构建、路由处理、数据库连接、以及模板引擎的使用。以下是一个简化的例子,展示了如何使用Express框架和MySQL数据库创建一个基本的博客系统。
首先,确保你已经安装了Node.js和MySQL。
- 创建一个新的Node.js项目,并安装必要的包:
mkdir blog-system
cd blog-system
npm init -y
npm install express express-handlebars mysql
- 创建一个简单的博客系统的文件结构:
blog-system/
│
├── app.js
├── package.json
├── package-lock.json
└── views/
├── index.handlebars
└── post.handlebars
- 编写
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');
});
- 在
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
字段。
这个简单的博客系统只包含了基础的功能,如获取文章列表和单个文章。在实际应用中,你可能需要添加用户认证、评论系统、搜索功能等。
评论已关闭