# node22-crud
**Repository Path**: sscarlet/node22-crud
## Basic Information
- **Project Name**: node22-crud
- **Description**: 基于express+layui,使用Node22.5.0新增的sqlite库进行增删改查演示
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-08-11
- **Last Updated**: 2024-08-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Nodejs, TypeScript
## README
Node22-Crud
基于express+layui,使用Node22.5.0新增的sqlite库进行增删改查演示
注意:这只是演示如何使用sqlite库实现基础的增删改查,不是一个框架

简体中文 | [English](./README.md)
## 概述
使用`Node22.5.0`新增的的`sqlite`库实现user表中数据的创建、分页查询、新增、修改、删除功能,并通过`express`封装为接口
使用原生HTML和`layui`库完成前端页面,并通过`express`托管

## 运行
运行本仓库代码需要保证`node`版本大于等于`22.6.0`(`node`于2024年8月6号发布版本`22.6.0`)
启动sqlite库需要在node命令后加上`--experimental-sqlite`
直接运行ts文件需要加上`--experimental-strip-types`
```bash
node --experimental-sqlite --experimental-strip-types src/main.ts
```
或者直接使用
```bash
pnpm run dev
```
运行后会在项目根目录下创建sqlite数据库文件`sqlite.db`,并创建一个演示用表`user`,`user`表包括`id`,`username`,`password`
三个列。并启动一个express服务,访问`http://localhost:8080/`来对user表进行增删改查
## 说明
### main.ts
启动express服务,提供增删改查接口,挂载静态资源

### curd.ts
使用`sqlite`库实现`user`表的增删改查功能
`sqlite`库的介绍见 https://nodejs.cn/api/sqlite.html
核心就三个函数
+ `statement.all` 查全部
+ `statement.get` 查单个
+ `statement.run` 增删改
### logger.ts
简单封装的日志库,使用`node:util`库中的`styleText`库实现彩色日志输出(`node21.7.0`新特性),并将日志写入到`log/express.log`
文件中
