如何从单个NPM包中导出多个库变体

时间:2019-06-17 18:53:13

标签: javascript node.js npm

我正在创建一个可以在Web浏览器中部分使用的节点库。

我当前的结构如下:

std::string
package.json 中将

“ lib / index.js” 指定为“ main” >

我正在使用 lib / 中的每个文件从 modules / 中按以下条件重新导出功能:目标(所有/节点/网络)

我想这样使用它:

import json
my_string = json.dumps(output_list)

保持 index.js node.js / lib 内的> web.js

当前仅前两个import语句有效(因为从package.json中指向了index.js)。

我知道我可以将这些文件放在包的根目录中,并且在导入时可以正常工作,但是我想知道是否有一种方法可以将文件保留在 中/ lib 进行清洁。

在任何情况下,这是从单个NPM包公开同一库的多个变体的推荐方法吗?

1 个答案:

答案 0 :(得分:0)

适合对图书馆结构和组织有类似问题的任何人。

那时我开始使用 LernaYarn Workspaces 使用 monorepos,我并不后悔。我认为这是在模块化、可读性、可扩展性和可维护性方面最有效的方法。

具体来说,问题代码将被翻译成这样:

import webOnlyLibrary from "@my-library/web";
import {someWebFunction} from "@my-library/web";

import nodeOnlyLibrary from "@my-library/node";
import {someNodeFunction} from "@my-library/node";