4

我正在编写一个非常简单的应用程序,允许使用 express 在 PostgreSQL 数据库上创建 CRUD 功能。当我运行我的程序时,出现此错误:错误:Nest 无法导出不属于当前处理的模块(DatabaseModule)的组件/模块。请验证每个导出的单元在此特定上下文中是否可用。

我真的不明白为什么......在app.module.ts中,我导入了DatabaseModule,它调用了数据库提供程序(我的postreSQL连接在哪里)。

我是打字稿的新手,我迷路了:/我只发布应用程序的入口点,但如果还不够,我可以发送更多内容,感谢您的帮助:

import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './src/app.module';
import * as express from 'express';
import 'ts-node/register';

async function bootstrap() {
    let instance: any;
    instance = express();
    const app = NestFactory.create(ApplicationModule, instance);
    app.then(instance => instance.listen(3000), () => console.log('Application is listening on port 3000'));
}

bootstrap();

这个 app.module.ts

import { Module } from '@nestjs/common';
import { MainController } from './controller/main.controller';

import { CatsModule } from './cats.module';
import { CatsController } from './controller/cats.controller';

import { OwnerModule } from './owner.module';
import { OwnerController } from './controller/owner.controller';

import {CatfoodController} from './controller/catfood.controller';
import { CatfoodModule } from './catfood.module';

import { DatabaseModule } from './database/database.module';

@Module({
  controllers: [
      MainController,
      CatsController,
      CatfoodController,
      OwnerController,
  ],
    modules: [
        DatabaseModule,
        CatsModule,
        CatfoodModule,
        OwnerModule,
    ],
})

export class ApplicationModule {}

和 database.module :

import { Module } from '@nestjs/common';
import { databaseProviders } from './database.providers';

@Module({
    components: [...databaseProviders],
    exports: [...databaseProviders],
})
export class DatabaseModule {}

GitHub:https ://github.com/lukile/catProject

4

1 回答 1

-1

在此处输入图像描述

我认为您需要放入modules数组imports,而不是modules数组。请仔细检查。并且在他们的班级CatsModuleCatfoodModule有他们的对应controllers(他们应该)?您不必将每个控制器都放入ApplicationModule.

于 2018-04-13T14:40:42.713 回答