背景
前端技术不断发展,越来越多的 Web 应用需要进行后端开发,而 TypeScript 也已经成为前端开发中的必备技能之一。因此,本文旨在介绍如何使用 Fastify 和 TypeORM 构建 TypeScript 后端的基本步骤及注意事项。
环境要求
在开始构建 TypeScript 后端之前,确保安装以下环境:
- Node.js 12+
- TypeScript 3.8+
- Fastify
- TypeORM
npm install fastify typeorm @types/node ts-node
创建 Fastify 应用
首先,我们需要使用 Fastify 创建出一个基本的 Web 应用。在创建应用之前,需要按照以下步骤导入 Fastify:
import fastify from 'fastify'; const app = fastify({ logger: true });
在这里,我们使用了 fastify
的默认配置来创建一个实例,并启用了日志记录功能。
下一步是创建一个路由,示例如下:
app.get('/', async (request, reply) => { return { hello: 'world' }; });
这里我们使用 app.get()
方法创建了一个路由,并设置对应的处理函数,该路由路径为 /
,返回内容为 { hello: 'world' }
,可以根据需要进行修改。
最后,在创建应用完成后需要监听指定的端口,示例如下:
app.listen(3000, (err, address) => { if (err) { console.error(err); process.exit(1); } console.log(`Server listening on ${address}`); });
这里我们使用 app.listen()
方法指定需要监听的端口,若监听失败则记录错误信息并退出程序,同时输出监听地址信息。
集成 TypeORM
接下来,我们需要添加 TypeORM 支持。TypeORM 是一个流行的 TypeScript ORM(对象关系映射),它可以帮助我们更轻松地操作数据库。
首先,需要为 TypeORM 创建数据库连接,并设置目标数据库属性,示例如下:
import { createConnection } from 'typeorm'; await createConnection({ type: 'sqlite', database: './foo.sqlite', entities: [], synchronize: true, logging: true, });
这里我们使用 createConnection()
方法创建出一个名为 foo.sqlite
的 SQLite 数据库连接,并通过 entities
字段设置了实体类,synchronize
字段指定了自动同步数据库结构的行为,logging
字段指定了是否输出日志。
接下来,需要创建实体类,示例如下:
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class User { @PrimaryGeneratedColumn() id!: number; @Column() name!: string; @Column() email!: string; }
这里我们定义了一个名为 User
的实体类,它包含 id、name 和 email 三个字段,并设置了对应的注解。
接下来,就可以使用 TypeORM 提供的 API 进行数据操作了。示例代码如下:
app.get('/users', async (request, reply) => { const userRepository = getConnection().getRepository(User); const users = await userRepository.find(); return { users }; }); app.post('/users', async (request, reply) => { const userRepository = getConnection().getRepository(User); const user = userRepository.create(request.body); return userRepository.save(user); });
这里我们使用了 getRepository()
方法获取了名为 User
的实体类对应的存储库,然后可以使用 API 进行查询或新增数据操作。
总结
本文介绍了如何使用 Fastify 和 TypeORM 构建 TypeScript 后端。首先,根据环境要求安装相关的依赖环境;然后,使用 Fastify 创建基本 Web 应用,集成 TypeORM 支持并定义实体类;最后,使用 TypeORM 提供的 API 进行数据操作。这里仅是简单的示例,读者可以根据需要进行更多的修改和优化工作,来创建适合自己场景的后端服务。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a8a61eadd4f0e0ff1d1048