Typescript NPM 包子模块

Chr*_*unt 5 javascript npm typescript

我想将我的 NPM 包分解为更可行的部分。

在我需要包的应用程序中,而不是

import { myFunction } from 'my-package'
Run Code Online (Sandbox Code Playgroud)

我想要

import { myFunction } from 'my-package/submodule'
Run Code Online (Sandbox Code Playgroud)

我的包在src文件夹中有许多文件,然后将index.ts它们全部导出。

package.json main指向dist/index.js已经。

我的包构建到dist目录所以

import { myFunction } from 'my-package/dist/submodule'
Run Code Online (Sandbox Code Playgroud)

import { myFunction } from 'my-package'
Run Code Online (Sandbox Code Playgroud)

两者都工作。

一种解决方案可能是将所有编译的文件复制到包根目录,但这感觉不整洁。

也许有办法让 dist 文件夹成为根?我在文档中找不到这个。

D3 和​​ Lodash 管理这个,但我认为它是在构建时完成的。我无法弄清楚他们是如何管理它的。