Я создаю библиотеку узлов, которую можно частично использовать в веб-браузерах.
Моя текущая структура выглядит примерно так:
package.json
lib/
index.js
node.js
web.js
modules/
some-function.js
some-node-function.js
some-web-function.js
...
"lib / index.js" указано как "main" in package.json
Я использую каждый файл внутри lib / для повторного экспорта функций из модулей / , отфильтрованных по цели (все / узел / веб)
И я хотел бы использовать это так:
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";
НО ведение index.js , node.js и web .js внутри / lib !
В настоящее время работают только первые два оператора импорта (так как index.js указан в package.json).
Я знаю, что могу поместить эти файлы в корень пакета, и он будет работать, как и ожидалось, при импорте, но мне было интересно, есть ли способ сделать то же самое, сохранив файлы в / lib для чистоты.
В любом случае, это рекомендуемый способ предоставления нескольких вариантов одной и той же библиотеки из одного пакета NPM?