我正在向 npm 注册表发布一个名为 foo
的 npm 包。
我使用 compile-to-js 语言编写了包。
为了理智,我将编译后的输出放入项目目录的 dist/
文件夹中。
我的 package.json
将入口点列为 dist/entry.js
:
{
"name": "foo",
"main": "dist/entry.js",
}
有时,我想使用包中不属于入口点的文件。例如,在 dist/util.js
中有一个名为 whatever
的非常有用的导出:
import { whatever } from "foo/dist/util";
这可行,但是强制我的包的用户在所有 import
语句中键入 dist/
是不方便的。
此外,重新导出每个可能的 util 函数并不是 DRY。 我不想从入口点重新导出。
理想情况下,我想使用以下语法从 dist/
导入文件:
import { whatever } from "foo/util"
如何配置我的 package.json
以在我的项目的 dist/
文件夹中搜索文件?
最佳答案
这是不可能的。
这就是为什么某些包具有重新导出所有公共(public)导出的入口点文件的原因(并非驻留在 dist
中的所有内容都旨在供最终用户使用),例如@angular/core
.
以及某些包具有不合适的文件结构的原因,这些文件结构已发布到 NPM 注册表并支持正确的导入路径,例如rxjs
。
关于node.js - 设置已发布的 npm 项目的 "root",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51621415/