我正在将名为foo
的npm软件包发布到npm注册表。
我使用编译成js语言编写了该包。
为了保持理智,我将编译后的输出放入项目目录的dist/
文件夹中。
我的package.json
将入口点列为dist/entry.js
:
{
"name": "foo",
"main": "dist/entry.js",
}
有时候,我想使用软件包中不属于入口点的文件。例如,在whatever
内部有一个非常有用的导出文件,叫做dist/util.js
:
import { whatever } from "foo/dist/util";
这可行,但是强制我的包用户在所有dist/
语句中键入import
会很不方便。
此外,重新导出每个可能的util函数都不是DRY。 我不想从入口点重新导出。
理想情况下,我想使用以下语法从dist/
导入文件:
import { whatever } from "foo/util"
如何配置package.json
以在项目的dist/
文件夹中搜索文件?
答案 0 :(得分:2)
无法完成。
这就是为什么某些软件包具有重新导出所有公共出口的入口点文件的原因(并非驻留在dist
中的所有东西都打算供最终用户使用),例如@angular/core
。
以及某些程序包具有不适当的文件结构的原因,该文件结构已发布到NPM注册表并偏爱正确的导入路径,例如rxjs
。