【问题标题】:Cannot import an exported class from a typescript file无法从打字稿文件导入导出的类
【发布时间】:2018-12-26 20:08:54
【问题描述】:

我有一个从名为foo.ts 的打字稿文件导出的类

export default class Foo{
}

我正在尝试将其导入同一目录中的另一个文件中

import {Foo} from './foo';

这给了我一个错误

Module '"foo"' has no exported member 'Foo'.

我已经在网上四处寻找解决这个问题,但最接近的是这个 github 问题https://github.com/Microsoft/TypeScript/issues/16475,在撰写本文时仍未解决。

我在这里遗漏了什么明显的东西吗?这不应该是有效的代码吗?

【问题讨论】:

标签: typescript


【解决方案1】:

这些是导出/导入东西的选项:

默认导出

// foo.js
export default class Foo{
}
// bar.js
import Foo from './foo'

命名导出

// foo.js
export class Foo{
}
// bar.js
import {Foo} from './foo'

看看上面的内容,你会发现你以错误的方式混合了这两种方法。

【讨论】:

  • 宾果游戏!不允许按名称导入默认导出是否有任何理由?这对我来说似乎很荒谬。
  • @MarkoKacanski 没有太多废话,但是有些人(包括我)认为默认导出是一种反模式。所以使用命名导出并快乐!
猜你喜欢
  • 2017-02-28
  • 2021-08-14
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多