Fastify 示例项目教程
1. 项目的目录结构及介绍
fastify-example/
├── README.md
├── package.json
├── src/
│ ├── config/
│ │ └── index.js
│ ├── routes/
│ │ └── index.js
│ └── index.js
└── test/
└── index.test.js
- README.md: 项目说明文档。
- package.json: 项目依赖和脚本配置文件。
- src/: 源代码目录。
- config/: 配置文件目录。
- index.js: 配置文件入口。
- routes/: 路由定义目录。
- index.js: 路由定义入口。
- index.js: 项目启动文件。
- config/: 配置文件目录。
- test/: 测试文件目录。
- index.test.js: 测试文件入口。
2. 项目的启动文件介绍
项目启动文件位于 src/index.js
,主要负责初始化 Fastify 实例并加载配置和路由。
const fastify = require('fastify')({
logger: true
});
// 加载配置
fastify.register(require('./config'));
// 加载路由
fastify.register(require('./routes'));
const start = async () => {
try {
await fastify.listen(3000);
fastify.log.info(`服务器运行在 ${fastify.server.address().port}`);
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
};
start();
3. 项目的配置文件介绍
配置文件位于 src/config/index.js
,主要负责加载和配置项目的各种设置。
module.exports = async function (fastify, opts) {
fastify.decorate('config', {
// 配置项
port: process.env.PORT || 3000,
// 其他配置项...
});
};
这个配置文件使用了 Fastify 的装饰器功能,将配置项绑定到 Fastify 实例上,方便在其他地方访问。