gpt4 book ai didi

typescript - 我应该如何从包中导出多组类/接口(interface)

转载 作者:行者123 更新时间:2023-12-04 17:05:47 25 4
gpt4 key购买 nike

我有一个 typescript 包,其中有 2 组类/接口(interface):writeAPI 和 readAPI。
两个 API 都有相同命名的类,例如有一个可写的“节点”和一个可读的“节点”。

我想防止在类的名称中添加组,例如:'WritableNode'、'ReadableNode'。

是否可以创建一个可以被另一个包使用的包,如下所示:
1)

import * as myAPIs from "myAPIs"

const readableNode = new myAPIs.readable.Node()
const writableNode = new myAPIs.writable.Node()

或者(不太受欢迎):
2)
import * as myReadableAPI from "myAPIs/readable"
import * as myWritableAPI from "myAPIs/writable"

const readableNode = new myReadableAPIs.Node()
const writableNode = new myWritableAPIs.Node()

编辑:

这似乎有效(特别适用于我的包裹):
import * as myReadableAPI from "myAPIs/dist/src/readable

我觉得它又丑又长,我想去掉多余的目录。我更喜欢上面的第一个选项。

最佳答案

在(最好)两个文件中声明您的 API /readable.ts & /writeable.ts并在 /apiEntry.ts 中重新导出它们您想要的命名空间下的文件。

import * as _writable from "./writeable"
import * as _readable from "./readable"


export const writeable = _writable
export const readable = _readable

是的,这看起来有点脏,将您的模块重新声明为常量,但语法 export * as namespace from "./module"不起作用。无论如何,我相信像 terser 这样的 minifier 可以解决这个问题。

Sandbox

关于typescript - 我应该如何从包中导出多组类/接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61863910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com