\n \n \n\n## 运行和测试\n\n node server.js\n\n打开 http://localhost:3000,试试发布一篇文章,然后刷新页面看看数据是否还在。\n\n## 总结\n\n一个最基本的CMS就是这样:前端负责展示和交互,后端负责存储和管理数据。理解了这个核心概念,你就能看懂WordPress、Ghost这些复杂CMS的基本原理了。","datePublished":"2026-03-29 12:00:02","dateModified":"2026-03-29 12:00:02","wordCount":4807,"inLanguage":"zh-CN","author":{"@type":"Person","name":"站长","url":"https://woshird.com"},"publisher":{"@type":"Organization","name":"人人都是程序员","url":"https://woshird.com","logo":{"@type":"ImageObject","url":"https://woshird.com/favicon.ico"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://woshird.com/article/simple-cms-system"},"isPartOf":{"@type":"WebSite","name":"人人都是程序员","url":"https://woshird.com"},"about":{"@type":"Thing","name":"做个网站"},"keywords":"做个网站,,AI编程,做一个简单的CMS内容管理系统","interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":137},{"@type":"InteractionCounter","interactionType":"https://schema.org/ReadAction","userInteractionCount":354}]}
🌐
🌐
🌐
🌐

做一个简单的CMS内容管理系统

站长
2026年3月29日 · 阅读 354 · 点赞 137 · 预计 4 分钟
分享:

CMS是什么

你用过WordPress、公众号后台、或者掘金写文章的功能吗?这些都是CMS——内容管理系统。简单说,CMS就是一个让你不用写代码也能发布内容的工具。

想象一个博客网站:前台是读者看文章的地方,后台是你写文章的地方。后台就是CMS。你在后台写好标题、正文、选好分类,点发布,读者就能在前台看到了。

今天我们做一个最简单的CMS,麻雀虽小,五脏俱全。

我们的CMS有什么功能

  • 文章列表页:显示所有文章

  • 文章详情页:点击标题看全文

  • 发布文章:填写标题和内容,点击发布

  • 删除文章:不想要的文章可以删掉
  • 第一步:初始化项目

    mkdir my-cms
    cd my-cms
    npm init -y
    npm install express

    第二步:创建后端

    创建 server.js,这是CMS的大脑:

    var express = require("express");
    var fs = require("fs");
    var app = express();

    app.use(express.json());
    app.use(express.urlencoded({ extended: true }));
    app.use(express.static("public"));

    var dataFile = "articles.json";

    function getArticles() {
    if (!fs.existsSync(dataFile)) return [];
    return JSON.parse(fs.readFileSync(dataFile, "utf8"));
    }

    function saveArticles(articles) {
    fs.writeFileSync(dataFile, JSON.stringify(articles, null, 2));
    }

    // 获取所有文章
    app.get("/api/articles", function(req, res) {
    res.json(getArticles());
    });

    // 发布新文章
    app.post("/api/articles", function(req, res) {
    var articles = getArticles();
    var article = {
    id: Date.now(),
    title: req.body.title,
    content: req.body.content,
    date: new Date().toLocaleDateString("zh-CN")
    };
    articles.unshift(article);
    saveArticles(articles);
    res.json({ success: true });
    });

    // 删除文章
    app.delete("/api/articles/:id", function(req, res) {
    var articles = getArticles();
    articles = articles.filter(function(a) {
    return a.id !== Number(req.params.id);
    });
    saveArticles(articles);
    res.json({ success: true });
    });

    app.listen(3000, function() {
    console.log("CMS运行在 http://localhost:3000");
    });

    我们用JSON文件存储文章数据。这不是最好的方案(正式项目用数据库),但最简单好理解。JSON文件就像一个记事本,每篇文章记一条。

    第三步:做前端页面

    创建 public/index.html:




    我的CMS




    我的内容管理系统


    发布新文章





    文章列表




    运行和测试

    node server.js

    打开 http://localhost:3000,试试发布一篇文章,然后刷新页面看看数据是否还在。

    总结

    一个最基本的CMS就是这样:前端负责展示和交互,后端负责存储和管理数据。理解了这个核心概念,你就能看懂WordPress、Ghost这些复杂CMS的基本原理了。

    站长
    人人都是程序员,站长
    分享: