Как использовать мангуста в NestJS

#node.js #typescript #mongoose #nestjs

Вопрос:

Я импортирую модуль MongooseModule и использую его в соответствии с документацией NestJS, и когда я компилирую сервер локально, я получаю эту ошибку node_modules/mongoose/index.d.ts:1883:33 - error TS2339: Property 'Buffer' does not exist on type 'typeof globalThis' . Я установил @types/node , но я не знаю, что делать дальше.

приложение.модуль.ts

 import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ClientsModule } from './clients/clients.module';
import { MongooseModule } from '@nestjs/mongoose';

@Module({
  imports: [ClientsModule, MongooseModule.forRoot(`mongodb srv://xxx:xxx@cluster0.ikjjp.mongodb.net/yyyyyyyy?retryWrites=trueamp;w=majority`)],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
 

Ответ №1:

Явно добавьте «@типы/узел», установив типы. Должно быть исправлено в мангусте, но работает с этого момента.

 npm i --save-dev @types/node@^14.0.0
 

Комментарии:

1. Я совершенно забыл об этом вопросе. Я решил эту проблему и опубликую то, что сработало для меня. В основном я делал то, что ты сказал.

2. @types/node@^14.0.0 Совместимо ли это с @nestjs/common^7.0.0 ?

Ответ №2:

Я решил свою проблему, сбежав npm i @types/node@15.14.1 . После этого я мог бы запустить сервер. Для тех, у кого возникнет эта проблема в ближайшем будущем, попробуйте оба решения от Карунакарана и мое.