📌  相关文章
📜  swc 输入了无法访问的代码:export default from 'foo' - TypeScript (1)

📅  最后修改于: 2023-12-03 14:47:47.296000             🧑  作者: Mango

使用'swc 输入了无法访问的代码:export default from 'foo' - TypeScript'

本文将介绍在 TypeScript 中使用 "export default from" 导入模块时可能会遇到的问题以及解决方案。

问题描述

在 TypeScript 中,如果我们想从一个模块中导出默认对象并将其导入到另一个模块中,我们可以使用以下代码:

// foo.ts
export default {
  name: 'foo',
  age: 18,
}

// bar.ts
import foo from './foo'

但是,如果我们使用 SWC 编译 TypeScript,它可能会在编译期间抛出以下错误:

Error: Module build failed (from swc-loader):
TypeError: Cannot read property 'startsWith' of undefined

这是因为 SWC 目前不支持使用 "export default from" 语法导入模块。

解决方案

为了解决这个问题,我们可以使用以下替代方案:

// foo.ts
const foo = {
  name: 'foo',
  age: 18,
}

export default foo

// bar.ts
import foo from './foo'
export default foo

这样,在 TypeScript 中导入模块时,我们可以使用 "import/export" 语法来解决此问题。

结论

在使用 TypeScript 开发时,如果我们需要从一个模块中导出默认对象并将其导入到另一个模块中,我们可以使用 "import/export" 语法来替代 "export default from" 语法,以避免在 SWC 编译期间出现错误。