带有路径变量类型的TypeScript动态导入

带有路径变量类型的TypeScript动态导入,typescript,Typescript,我有一个TS文件目录,我在配置对象中指定了这个目录的路径。然后,我使用readdirSync获取所有文件并循环它们,实例化它们,然后将实例添加到对象中。以下是内部循环: const path = join(config.path, file); // file = foo.js const className = pascalCase(basename(file, ".js")); // Foo type ModuleType = typeof import(path); // uh

我有一个TS文件目录,我在配置对象中指定了这个目录的路径。然后,我使用
readdirSync
获取所有文件并循环它们,实例化它们,然后将实例添加到对象中。以下是内部循环:

  const path = join(config.path, file); // file = foo.js
  const className = pascalCase(basename(file, ".js")); // Foo
  type ModuleType = typeof import(path); // uh-oh
  const File = await import(path);
  const Obj = File[className]; // [Function: Foo]
  someObj.handlers[className] = new Obj();
我在尝试设置导入的
类型时遇到TS错误:

应为[ts]字符串文字。 [ts]“path”引用了一个值,但在此处用作类型


我可以做些什么来告诉TS更多关于我正在导入和实例化的类的信息吗?我知道这是因为我使用了一个变量作为
路径

您在运行时动态创建它。这些类型在运行时没有意义

如果希望在运行时为正在构建的对象创建设计时智能感知,则必须编写一个
接口
,以手动对其进行描述


如果你不知道形状,那么你就不需要类型信息。

想了很多…哦,好吧,我想需要重新考虑一些事情!