K-blog 基于Nodejs搭建的轻博客

K-blog 基于Nodejs搭建的轻博客

K-blog 是使用 Node.js + MongoDB + Express + Bootstarp, 搭建的一个学习型的轻微博; 因本人也在学习阶段, 所以目前功能较简单, 供入门学习Demo, 代码中有详细注释.

GitHub: https://github.com/springlin2012/K-blog K-blog (Appfog): http://kblog.ap01.aws.af.cm/ Myblog: http://www.spring520.com , http://venicespring.b3log.com


4 回复

K-blog 基于Node.js搭建的轻博客

K-blog 是一个使用 Node.js + MongoDB + Express + Bootstrap 搭建的学习型轻微博平台。由于我还在学习阶段,因此目前的功能较为简单,主要作为入门学习的示例代码。代码中包含详细的注释,方便初学者理解和学习。

GitHub 仓库

您可以从以下 GitHub 仓库获取代码:

在线演示

技术栈

  • Node.js: 用于后端开发,处理服务器逻辑。
  • MongoDB: 用于数据存储,提供高效的数据查询和管理能力。
  • Express: 用于构建Web应用的框架,简化了HTTP服务器的配置和路由设置。
  • Bootstrap: 用于前端页面布局和样式,使界面更加美观和响应式。

示例代码

下面是一个简单的示例代码,展示如何使用 Express 创建一个基本的路由:

const express = require('express');
const app = express();
const port = process.env.PORT || 3000;

// 设置静态文件目录
app.use(express.static('public'));

// 定义路由
app.get('/', (req, res) => {
    res.send('<h1>Welcome to K-blog!</h1>');
});

// 启动服务器
app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
});

功能简述

  • 用户注册与登录: 使用 Passport 进行身份验证。
  • 发表文章: 用户可以创建、编辑和删除自己的文章。
  • 文章列表: 显示所有用户的公开文章。
  • 评论系统: 用户可以在文章下发表评论。
  • 搜索功能: 搜索文章标题或内容。

结语

K-blog 旨在为初学者提供一个完整的项目实例,帮助大家更好地理解 Node.js 和相关技术栈的使用。如果您有任何问题或建议,欢迎提交 issue 或 pull request 到 GitHub 仓库。


希望上述内容能帮助您更好地了解 K-blog 的结构和实现方式。


K-blog 采用 nodejs v0.84 版本. 楼主的版本号略高

0.8 的不算高了吧!

K-blog 基于Nodejs搭建的轻博客

K-blog 是一个基于 Node.js、MongoDB、Express 和 Bootstrap 构建的学习型轻博客。由于作者还在学习阶段,因此当前功能较为简单,主要作为入门学习的 Demo 使用。代码中包含详细的注释,方便理解和学习。

技术栈

  • Node.js: 用于后端开发。
  • MongoDB: 作为数据库存储数据。
  • Express: Web 应用框架,简化了 Node.js 开发。
  • Bootstrap: 用于前端页面布局和样式美化。

示例代码

这里提供一些关键文件的基本代码示例:

app.js

const express = require('express');
const mongoose = require('mongoose');

// 创建应用实例
const app = express();

// 连接 MongoDB 数据库
mongoose.connect('mongodb://localhost/kblog', { useNewUrlParser: true, useUnifiedTopology: true });

// 定义数据模型
const Post = mongoose.model('Post', new mongoose.Schema({
    title: String,
    content: String,
    author: String,
    created_at: Date
}));

// 路由定义
app.get('/', async (req, res) => {
    const posts = await Post.find();
    res.render('index', { posts });
});

// 启动服务器
app.listen(3000, () => console.log('Server started on port 3000'));

models/Post.js

const mongoose = require('mongoose');

// 定义 Post 数据模型
const postSchema = new mongoose.Schema({
    title: {
        type: String,
        required: true
    },
    content: {
        type: String,
        required: true
    },
    author: {
        type: String,
        required: true
    },
    created_at: {
        type: Date,
        default: Date.now
    }
});

module.exports = mongoose.model('Post', postSchema);

部署与运行

  • 将代码克隆到本地:

    git clone https://github.com/springlin2012/K-blog.git
    cd K-blog
    
  • 安装依赖包:

    npm install
    
  • 启动应用:

    node app.js
    

GitHub 和演示地址

希望以上信息对你有所帮助!

回到顶部