package.json 导出和多类型声明文件

Hua*_*hen 6 javascript typescript webpack package.json

我正在尝试构建一个 TypeScript 库,并希望exports使用package.json.

从nodejs和webpack的文档中,我看到这exports是导出模块的推荐方法。

https://nodejs.org/api/packages.html#package-entry-points

https://webpack.js.org/guides/package-exports/

旧的方法是使用“main”、“types”和“module”。

如何使用此方法导出类型声明?我应该继续使用“类型”字段吗?但是如果我有多个导出怎么办?

这是我的出口样本

"exports": {
    ".": {
      "import": "./dist/A.mjs",
      "require": "./dist/A.js"
    },
    "./A": {
      "import": "./dist/A.mjs",
      "require": "./dist/A.js"
    },
    "./B": {
      "import": "./dist/B.mjs",
      "require": "./dist/B.js"
    }
  }
Run Code Online (Sandbox Code Playgroud)

Hua*_*hen 2

导出适用于 Nodejs,但不受 TypeScript 支持。apollo 库实现此功能的方法是为package.json每个导出路径创建一个,如下所示

所以在package.json中,exports编译后的js代码仍然需要,并且额外的package.json也需要TypeScript在开发时查找。

我在这里进行了更详细的讨论。包含示例代码。