Skip to content

Commit a5bc5dc

Browse files
committed
feat(nest-demo): 基于@142vip/nest周边模块,补充Demo最佳实践代码
1 parent 629508d commit a5bc5dc

File tree

9 files changed

+67
-33
lines changed

9 files changed

+67
-33
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
starter: {
3+
port: 3000,
4+
enableSwagger: true,
5+
swagger: {},
6+
// logger: {},
7+
enableLogger: true,
8+
},
9+
// test: 1,
10+
}

apps/nest-demo/package.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,27 @@
1010
"homePage": "https://142vip.cn"
1111
},
1212
"scripts": {
13-
"dev": "nest start -d -w",
13+
"dev": "NODE_ENV=local RUN_ENV=test nest start -d -w",
1414
"dev:debug": "nest start --debug --watch",
1515
"dev:prod": "node dist/main",
1616
"build": "nest build",
1717
"start": "nest start"
1818
},
19+
"peerDependencies": {
20+
"@142vip/nest": "workspace:*"
21+
},
1922
"dependencies": {
2023
"@142vip/nest-redis": "workspace:*",
21-
"@nestjs/common": "11.1.6",
22-
"@nestjs/core": "11.1.6",
23-
"@nestjs/platform-express": "11.1.6",
24-
"reflect-metadata": "0.2.2",
25-
"rxjs": "7.8.1"
24+
"@142vip/nest-starter": "workspace:*"
2625
},
2726
"devDependencies": {
2827
"@nestjs/cli": "11.0.10",
2928
"@nestjs/schematics": "11.0.9",
3029
"@nestjs/testing": "11.1.7",
3130
"@types/express": "5.0.0",
32-
"@types/jest": "30.0.0",
3331
"@types/supertest": "6.0.2",
3432
"source-map-support": "0.5.21",
3533
"supertest": "7.0.0",
36-
"ts-jest": "29.2.5",
3734
"ts-loader": "9.5.2",
3835
"ts-node": "10.9.2",
3936
"tsconfig-paths": "4.2.0"

apps/nest-demo/src/app.module.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
import { RedisModule } from '@142vip/nest-redis'
1+
import { NestRedisModule } from '@142vip/nest-redis'
22
import { Module } from '@nestjs/common'
3+
import { ConfigExampleModule } from './config-example/config-example.module'
34
import { RedisExampleModule } from './redis-example/redis-example.module'
45

56
@Module({
67
imports: [
78
// 全局模块
8-
RedisModule.register({ url: 'redis://localhost:6379' }),
9+
NestRedisModule.register({ url: 'redis://172.16.202.252:6379' }),
910

1011
// 最佳实践
1112
RedisExampleModule,
13+
14+
ConfigExampleModule,
1215
],
1316
})
1417
export class AppModule {}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { StarterConfig } from '@142vip/nest-starter'
2+
import { Controller, Get } from '@nestjs/common'
3+
import { ConfigExampleService } from './config-example.service'
4+
5+
@Controller('config-example')
6+
export class ConfigExampleController {
7+
constructor(
8+
private readonly configExampleService: ConfigExampleService,
9+
) {}
10+
11+
@Get('/')
12+
public 'Get /'(): StarterConfig {
13+
return this.configExampleService.getStarterConfig()
14+
}
15+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Module } from '@nestjs/common'
2+
import { ConfigExampleController } from './config-example.controller'
3+
import { ConfigExampleService } from './config-example.service'
4+
5+
@Module({
6+
controllers: [ConfigExampleController],
7+
providers: [ConfigExampleService],
8+
})
9+
export class ConfigExampleModule {}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { StarterConfig } from '@142vip/nest-starter'
2+
3+
export class ConfigExampleService {
4+
constructor(
5+
private readonly starterConfig: StarterConfig,
6+
) { }
7+
8+
public getStarterConfig(): StarterConfig {
9+
return this.starterConfig
10+
}
11+
}

apps/nest-demo/src/config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { NestAppConfig } from '@142vip/nest-starter'
2+
import { IsNumber } from 'class-validator'
3+
4+
export class Config extends NestAppConfig {
5+
@IsNumber()
6+
test!: number
7+
}

apps/nest-demo/src/main.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
import { NestFactory } from '@nestjs/core'
1+
import { NestStarter } from '@142vip/nest-starter'
22
import { AppModule } from './app.module'
33

4-
async function bootstrap(): Promise<void> {
5-
const app = await NestFactory.create(AppModule)
6-
await app.listen(3000)
7-
}
8-
9-
void bootstrap()
4+
// 统一启动类
5+
void NestStarter.getInstance().start(AppModule)

packages/nest-starter/README.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,11 @@ pnpm i @142vip/nest-starter
1313

1414
## 配置
1515

16-
```ts
17-
import { NestAppConfig } from '@142vip/nest-starter'
18-
import { IsNumber } from 'class-validator'
19-
20-
export class Config extends NestAppConfig {
21-
@IsNumber()
22-
test!: number
23-
}
24-
```
25-
2616
## 使用
2717

28-
```ts
29-
import { NestStarter } from '@142vip/nest-starter'
30-
import { AppModule } from './app.module'
18+
### 模块注入
3119

32-
// 统一启动类
33-
void NestStarter.getInstance().start(AppModule)
34-
```
20+
### 使用服务
3521

3622
## 参考
3723

0 commit comments

Comments
 (0)