首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[SQLite]掌握Egg.js与SQLite的完美融合:高效搭建数据库驱动项目

发布于 2025-06-23 14:53:12
0
1169

Egg.js 是一个为企业级应用而生的框架,它遵循 Koa 的设计理念,并提供了丰富的功能特性。SQLite 是一个轻量级的数据库,它不需要服务器进程即可运行。本文将介绍如何将 Egg.js 与 SQ...

Egg.js 是一个为企业级应用而生的框架,它遵循 Koa 的设计理念,并提供了丰富的功能特性。SQLite 是一个轻量级的数据库,它不需要服务器进程即可运行。本文将介绍如何将 Egg.js 与 SQLite 进行完美融合,以高效搭建数据库驱动项目。

1. 准备工作

在开始之前,请确保您已经安装了 Node.js 和 npm。以下是搭建 Egg.js 与 SQLite 项目所需的步骤:

  1. 创建一个新的 Egg.js 项目
npm init egg --type=simple
  1. 安装 SQLite JDBC 驱动
npm install sqlite3

2. 配置 SQLite 数据库

config 目录下创建一个名为 config.default.js 的文件,配置 SQLite 数据库:

module.exports = { // 数据库配置 sqlite: { // 数据库文件路径 file: 'app/data/db.sql', // 数据库模式 dialect: 'sqlite', // 启用 ORM enable ORM: true, // 连接池 pool: { // 最大连接数 max: 5, // 最小连接数 min: 0, // 连接超时时间 idleTimeout: 10000, }, },
};

3. 创建模型

app/model 目录下创建一个名为 user.js 的文件,定义用户模型:

const Sequelize = require('sequelize');
const sqlite = new Sequelize({ dialect: 'sqlite', storage: 'app/data/db.sql',
});
module.exports = sqlite.define('user', { // 用户名 username: { type: Sequelize.STRING, allowNull: false, }, // 密码 password: { type: Sequelize.STRING, allowNull: false, },
}, { timestamps: false,
});

4. 创建控制器

app/controller 目录下创建一个名为 user.js 的文件,定义用户控制器:

const Controller = require('egg').Controller;
class UserController extends Controller { // 用户注册 async register() { const { username, password } = this.ctx.request.body; const user = await this.service.user.create({ username, password }); this.ctx.body = { user }; } // 用户登录 async login() { const { username, password } = this.ctx.request.body; const user = await this.service.user.findOne({ where: { username, password } }); this.ctx.body = { user }; }
}
module.exports = UserController;

5. 创建服务

app/service 目录下创建一个名为 user.js 的文件,定义用户服务:

const Service = require('egg').Service;
class UserService extends Service { // 创建用户 async create({ username, password }) { const user = await this.app.model.user.create({ username, password }); return user; } // 查询用户 async findOne({ where }) { const user = await this.app.model.user.findOne({ where }); return user; }
}
module.exports = UserService;

6. 路由配置

app/router 目录下创建一个名为 router.js 的文件,配置路由:

module.exports = app => { const { router, controller } = app; router.post('/user/register', controller.user.register); router.post('/user/login', controller.user.login);
};

7. 启动项目

现在,您可以使用以下命令启动项目:

npm run dev

访问 http://localhost:7001/user/registerhttp://localhost:7001/user/login,即可进行用户注册和登录。

通过以上步骤,您已经成功将 Egg.js 与 SQLite 进行了完美融合,并搭建了一个高效的数据库驱动项目。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流