我正在创建一个可以在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包公开同一库的多个变体的推荐方法吗?
答案 0 :(得分:0)
适合对图书馆结构和组织有类似问题的任何人。
那时我开始使用 Lerna 和 Yarn 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";