请帮助解决这个问题,我已经得到了香草nestgram框架,现在我试图添加ConfigModule的支持,但看到错误“TypeError:无法读取未定义的属性(阅读'map')”
当我在 app.module.tsimports: [ConfigModule.forRoot()]
中添加这行代码时,问题就出现了
nest-gram.js(node_modules/nestgram/dist/nest-gram.js)中出现问题
static async getServices(Module) {
const modules = Reflect.getMetadata('modules', Module) || [];
const compiledModules = [];
for (const module of modules) {
let result;
let err;
try {
result = await module();
}
catch (e) {
// @ts-ignore
result = module();
err = e;
}
if (result) {
try {
compiledModules.push(...result);
}
catch (e) {
throw new Error(err);
}
}
}
let services = Reflect.getMetadata('services', Module)
* //=> MY FEAUTURE FOR DEBUGGING
console.log(typeof(services))
//MY FEAUTURE FOR DEBUGGING <=
*
services = services.map((Service) => {
return new Service(...compiledModules);
});
return services;
}
字符串
当我添加imports:[ ConfigModule.ForRoot()]
时,我的console.log(typeof(services))
返回 *undefined object *,如果不是,则只返回 object
帮助PLS
- main.ts*
import { NestGram } from 'nestgram';
import { AppModule } from './app.module';
async function bootstrap(): Promise<void> {
let KEY=process.env.TELEGRAM_BOT_KEY
console.log(KEY)
console.log(typeof(KEY))
const bot = new NestGram(KEY, AppModule);
await bot.start();
}
bootstrap();
型
- app.module.ts*
import { ConfigModule } from '@nestjs/config';
import { Module } from 'nestgram';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
controllers: [AppController],
services: [AppService],
imports: [ConfigModule.forRoot()]
})
export class AppModule {}
型
- app.controller.ts*
import { OnCommand, Controller } from 'nestgram';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService?: AppService) {}
@OnCommand('start')
start(): string {
return 'Hello, world!';
}
}
型
- app.service.ts*
import { Service } from 'nestgram';
@Service()
export class AppService {
}
型
1条答案
按热度按时间kzipqqlq1#
我认为这与他们文档首页上的警告有关:
Nestgram不能使用Nest.js模块。但是你可以为Nestgram创建自己的模块:)
似乎你不能在这个包中使用
@nestjs/config
。从外观上看,nestgram受到了NestJS的启发,甚至可能在幕后使用Nest,但它不能与现有的NestJS包互操作。