Error : Nest cannot export component / module that is not a part of the currently processed module (DatabaseModule)
Error : Nest cannot export component / module that is not a part of the currently processed module (DatabaseModule)
我正在编写一个非常简单的应用程序,允许使用 express 在 PostgreSQL 数据库上创建 CRUD 功能。
当我 运行 我的程序出现此错误时:
错误:Nest 无法导出不属于当前处理模块 (DatabaseModule) 的组件/模块。请验证每个导出的单元是否在此特定上下文中可用。
我真的不明白为什么...在 app.module.ts 中,我导入 DatabaseModule,它调用数据库提供程序(我的 postreSQL 连接在哪里)。
我是打字稿的新手,我迷路了:/
我只有 post 应用程序的入口点,但如果不够,我可以发送更多,感谢您的帮助:
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
我认为您需要将 modules
放在 imports
数组中,而不是 modules
数组中。请仔细检查。 CatsModule
和 CatfoodModule
在他们的 class 中是否有相应的 controllers
(他们应该)?您不必将每个控制器都放在 ApplicationModule
.
中
我正在编写一个非常简单的应用程序,允许使用 express 在 PostgreSQL 数据库上创建 CRUD 功能。 当我 运行 我的程序出现此错误时: 错误:Nest 无法导出不属于当前处理模块 (DatabaseModule) 的组件/模块。请验证每个导出的单元是否在此特定上下文中可用。
我真的不明白为什么...在 app.module.ts 中,我导入 DatabaseModule,它调用数据库提供程序(我的 postreSQL 连接在哪里)。
我是打字稿的新手,我迷路了:/ 我只有 post 应用程序的入口点,但如果不够,我可以发送更多,感谢您的帮助:
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
我认为您需要将 modules
放在 imports
数组中,而不是 modules
数组中。请仔细检查。 CatsModule
和 CatfoodModule
在他们的 class 中是否有相应的 controllers
(他们应该)?您不必将每个控制器都放在 ApplicationModule
.