NestJS Azure Database 开源项目教程
1. 项目的目录结构及介绍
/azure-database
├── src
│ ├── azure-cosmos
│ │ ├── azure-cosmos.module.ts
│ │ ├── azure-cosmos.service.ts
│ │ └── index.ts
│ ├── azure-table
│ │ ├── azure-table.module.ts
│ │ ├── azure-table.service.ts
│ │ └── index.ts
│ ├── azure-blob
│ │ ├── azure-blob.module.ts
│ │ ├── azure-blob.service.ts
│ │ └── index.ts
│ ├── azure-queue
│ │ ├── azure-queue.module.ts
│ │ ├── azure-queue.service.ts
│ │ └── index.ts
│ └── index.ts
├── test
│ ├── azure-cosmos.spec.ts
│ ├── azure-table.spec.ts
│ ├── azure-blob.spec.ts
│ └── azure-queue.spec.ts
├── package.json
├── tsconfig.json
└── README.md
目录结构介绍
src/
: 包含项目的主要源代码。azure-cosmos/
: 用于与 Azure Cosmos DB 交互的模块。azure-table/
: 用于与 Azure Table Storage 交互的模块。azure-blob/
: 用于与 Azure Blob Storage 交互的模块。azure-queue/
: 用于与 Azure Queue Storage 交互的模块。index.ts
: 导出所有模块的入口文件。
test/
: 包含项目的测试文件。package.json
: 项目的依赖和脚本配置文件。tsconfig.json
: TypeScript 配置文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件通常位于 src/
目录下,例如 main.ts
。以下是一个示例启动文件的内容:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
启动文件介绍
NestFactory.create(AppModule)
: 创建 NestJS 应用实例。app.listen(3000)
: 监听端口 3000。
3. 项目的配置文件介绍
项目的配置文件通常位于项目根目录下,例如 app.module.ts
和 azure-cosmos.module.ts
。以下是一个示例配置文件的内容:
app.module.ts
import { Module } from '@nestjs/common';
import { AzureCosmosModule } from './azure-cosmos/azure-cosmos.module';
import { AzureTableModule } from './azure-table/azure-table.module';
import { AzureBlobModule } from './azure-blob/azure-blob.module';
import { AzureQueueModule } from './azure-queue/azure-queue.module';
@Module({
imports: [
AzureCosmosModule.forRoot({
endpoint: process.env.AZURE_COSMOS_ENDPOINT,
key: process.env.AZURE_COSMOS_KEY,
databaseName: process.env.AZURE_COSMOS_DATABASE,
}),
AzureTableModule.forRoot({
connectionString: process.env.AZURE_TABLE_CONNECTION_STRING,
}),
AzureBlobModule.forRoot({
connectionString: process.env.AZURE_BLOB_CONNECTION_STRING,
}),
AzureQueueModule.forRoot({
connectionString: process.env.AZURE_QUEUE_CONNECTION_STRING,
}),
],
})
export class AppModule {}
配置文件介绍
AzureCosmosModule.forRoot()
: 配置 Azure Cosmos DB 模块。AzureTableModule.forRoot()
: 配置 Azure Table Storage 模块。AzureBlobModule.forRoot()
: 配置 Azure Blob Storage 模块。- `AzureQueueModule.forRoot