【发布时间】:2021-08-02 18:52:10
【问题描述】:
我正在创建一个可以部分用于网络浏览器的节点库。
我目前的结构是这样的:
package.json
lib/
index.js
node.js
web.js
modules/
some-function.js
some-node-function.js
some-web-function.js
...
"lib/index.js" 在 package.json 中被指定为 "main" p>
我正在使用 lib/ 中的每个文件重新导出 modules/ 过滤的函数目标(所有/节点/网络)
我想这样使用它:
import fullLibrary from "my-library";
import {someFunction} from "my-library";
import webOnlyLibrary from "my-library/web";
import {someWebFunction} from "my-library/web";
import nodeOnlyLibrary from "my-library/node";
import {someNodeFunction} from "my-library/node";
BUT 保留 index.js、node.js 和 >web.js 在 /lib 中!
目前只有前两个 import 语句有效(因为 index.js 是从 package.json 指向的)。
我知道我可以将这些文件放在包的根目录中,并且在导入时它会按预期工作,但我想知道是否有办法在将文件保留在 中的同时做同样的事情/lib 用于清洁。
无论如何,这是从单个 NPM 包中公开同一库的多个变体的推荐方法吗?
【问题讨论】:
标签: javascript node.js npm