分享 Twenty(基于Nodejs的博客系统)后端用的开源框架

分享 Twenty(基于Nodejs的博客系统)后端用的开源框架

分享一下Twenty 用的开源后端, sailsjs。开发非常快,model什么的直接定义就可以用了,自动生成REST API。 数据库都可以先不用设置,默认使用文件系统。可以开发完之后再配置,系统会自动把数据导入数据库。 另外对前端静态资源的打包也是自动进行的。 目前看来唯一欠缺的就是完整的模块系统了,现在只有一些hook机制。不过社区已经讨论好久了,估计不久就会实现。

2 回复

分享 Twenty(基于Node.js的博客系统)后端用的开源框架

大家好,今天想跟大家分享一下我最近使用的基于 Node.js 的博客系统——Twenty。在这个项目中,我们采用了 Sails.js 这个开源框架作为后端支持。

为什么选择 Sails.js?

首先,Sails.js 是一个基于 Express 的 MVC 框架,它提供了强大的功能和灵活性,使得开发过程变得异常高效。以下是一些 Sails.js 的主要优势:

  1. 快速开发:通过简单的配置和模型定义,你可以迅速搭建起一个全栈应用。模型可以直接映射到数据库表,而无需手动编写复杂的 ORM 逻辑。
  2. 自动生成 REST APISails.js 可以自动生成 RESTful API,这大大减少了开发者的工作量。
  3. 灵活的数据存储:默认情况下,Sails.js 使用文件系统来存储数据,这对于小型项目或者快速原型来说非常方便。当然,你也可以根据需要配置其他数据库系统。
  4. 自动化的静态资源处理Sails.js 能够自动处理前端静态资源,如压缩、合并等,简化了前端部署的复杂度。

示例代码

下面是一个简单的例子,展示了如何使用 Sails.js 定义一个模型并生成 REST API。

// api/models/Post.js
module.exports = {
  attributes: {
    title: { type: 'string', required: true },
    content: { type: 'text' },
    author: { type: 'string' }
  }
};

上述代码定义了一个名为 Post 的模型,包含三个属性:titlecontentauthorSails.js 会自动为这个模型创建相应的数据库表,并生成增删改查的 REST API。

数据库配置

默认情况下,Sails.js 使用内存文件系统来存储数据。如果你想切换到其他数据库,可以在 config/datastores.js 文件中进行配置:

// config/datastores.js
module.exports.datastores = {
  default: {
    adapter: 'sails-mysql',
    host: 'localhost',
    user: 'yourusername',
    password: 'yourpassword',
    database: 'yourdatabase'
  }
};

这段配置将默认的数据存储适配器从文件系统切换到了 MySQL 数据库。

静态资源处理

对于前端静态资源,Sails.js 提供了内置的支持。你只需要将静态文件放在 assets 目录下即可。Sails.js 会在构建过程中自动处理这些资源。

总结

尽管 Sails.js 在模块化方面还有待完善,但其强大的功能和高效的开发体验使其成为了一个优秀的后端框架选择。如果你正在寻找一个能够快速搭建出高质量 Node.js 应用的框架,Sails.js 绝对值得尝试。

希望这篇分享对你有所帮助!如果有任何问题或建议,欢迎留言交流。


Twenty 是一个基于 Node.js 的博客系统,它使用了 Sails.js 作为其后端框架。Sails.js 是一个非常强大的 MVC 框架,用于构建实时的应用程序,并且支持现代的开发模式。

示例代码

  1. 安装 Sails.js

    首先需要安装 Sails.js:

    npm install -g sails
    
  2. 创建项目

    创建一个新的 Sails 项目:

    sails new twenty
    cd twenty
    
  3. 创建模型

    定义一个简单的博客文章模型 Article

    // api/models/Article.js
    module.exports = {
      attributes: {
        title: { type: 'string', required: true },
        content: { type: 'text' },
        createdAt: { type: 'number', columnType: 'timestamp', autoCreatedAt: true },
        updatedAt: { type: 'number', columnType: 'timestamp', autoUpdatedAt: true }
      }
    };
    
  4. 生成 REST API

    Sails.js 自动为每个模型生成 CRUD API:

    sails generate api article
    
  5. 配置数据库

    默认情况下,Sails 使用 SQLite 文件系统数据库。你可以根据需要切换到其他数据库(如 MySQL、PostgreSQL 等):

    // config/datastores.js
    module.exports.datastores = {
      default: {
        adapter: 'sails-mysql',
        host: 'localhost',
        user: 'root',
        password: '',
        database: 'twenty'
      }
    };
    
  6. 启动项目

    启动你的 Sails 应用:

    sails lift
    

解释

  • Sails.js 是一个功能丰富的 MVC 框架,它提供了一套强大的工具来帮助你快速开发应用。
  • 模型 定义了应用程序的数据结构,例如 Article 模型定义了博客文章的基本属性。
  • REST API 自动生成 让你无需手动编写 CRUD 接口,只需定义模型即可。
  • 数据库配置 默认使用文件系统存储,但可以轻松地切换到其他数据库系统。
  • 静态资源打包 也是自动处理的,确保前端资源能够高效加载。

总之,Sails.js 提供了一种快速开发 Node.js 应用的方法,并且其默认配置简化了许多常见的任务。

回到顶部