Skip to content

TEGG_EGG_PROTO_NOT_FOUND ​

问题 ​

bash
framework.EggPrototypeNotFound: Object foo not found in LOAD_UNIT:appPort

原因 ​

未在当前 Egg Module 中找到对应的 Proto,导致注入失败。

解决方法 ​

  1. 确保在当前 Module 中定义了对应的 Proto。
  2. 确保 Proto 的访问级别为 AccessLevel.PUBLIC。
  3. 确保 Proto 的名称正确。
  4. 确保 Proto 的实例化方式正确。
  5. 确保 Proto 的实例化名称正确。
  6. 确保 Proto 的实例化访问级别正确。
  7. 确保 Proto 的实例化实例化名称正确。

示例 ​

ts
import { SingletonProto, AccessLevel } from 'egg';

@SingletonProto({
  // 确保 Proto 的访问级别为 PUBLIC
  accessLevel: AccessLevel.PUBLIC, 
})
export class Foo {
  async bar(): Promise<string> {
    return 'bar';
  }
}

Born to build better enterprise frameworks and apps