gpt4 book ai didi

typescript - 共享自定义 NestJS 模块出现 "not a part of the currently processed module"错误

转载 作者:行者123 更新时间:2023-12-05 02:12:34 25 4
gpt4 key购买 nike

我们正在为不同的服务运行几个 NestJS 应用程序。它们都共享一些公共(public)代码,在我们的例子中是一个 ConfigModule 和一个 CacheModule。我想将它们分解并放入公司的“通用”npm 包中,以最大程度地减少代码复制。

不过我遇到了一个错误:

Nest cannot export a component/module that is not a part of thecurrently processed module (ConfigModule). Please verify whether eachexported unit is available in this particular context

我有点不知道问题到底是什么。非常感谢任何帮助。

在服务 A 的 app.ts 中:

import { ConfigModule } from '@company/npm-common';
...
@Module({
imports: [ConfigModule, ...],
})
export class AppModule {}

现在 @company/npm-common 被导入到 package.json 中 file:../npm-common

npm-common/index.ts:

export *  from './Config';

npm-common/Config/index.ts

export { ConfigService } from './config.service';
export { ConfigModule } from './config.module';

npm-common/Config/config.service:

import { Global, Module } from '@nestjs/common';
import { ConfigService } from './config.service';

@Global()
@Module({
providers: [
{
provide: ConfigService,
useValue: new ConfigService(),
},
],
exports: [ConfigService],
})
export class ConfigModule {}

最佳答案

这个问题的愚蠢答案是主应用程序和外部模块加载了不同版本的 NestJS。从这个意义上说,版本 5.5 似乎与版本 6 不兼容。

关于typescript - 共享自定义 NestJS 模块出现 "not a part of the currently processed module"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55688331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com