javascript Nodejs类型脚本:类型的导出默认值不起作用

nx7onnlm  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(109)

对于变量,我使用以下代码:
file.ts

const x = { ... }
const y = { ... }

export default { x, y }

使用它:

import file from './file'

console.log(x.file)

但对于类型,我不能使用默认导出:

type x = { ... }
type y = { ... }

export default { x, y }

我得到了这个错误:

'x' only refers to a type, but is being used as a value here
zbq4xfa0

zbq4xfa01#

对于变量,我使用以下代码:

export default { x, y }

不要这样做。它不导出变量,而是默认导出中的一个对象文字。你不想创建这个对象。
相反,请使用命名导出:

// file.ts
const x = { ... };
const y = { ... };

export { x, y }

或者干脆

// file.ts
export const x = { ... };
export const y = { ... };

那就把它们当作

import { x } from './file'

console.log(x);

或使用命名空间导入

import * as file from './file'

console.log(file.x);

此模式也适用于类型。

相关问题