У меня общий вопрос, я прочитал много статей и посмотрел много пакетов репозиториев, но он все еще остается для меня нечистым.
Вопрос в том, как наилучшим образом настроить накопительный пакет?
Я хочу сделать библиотека для node.js и использования браузера, сведение предлагает форматы amd
, cjs
, esm
, iife
, umd
. Поправьте меня, если я ошибаюсь: amd
следует просто пропустить, umd
для браузера и узла, но это дает больший вывод, cjs
для узла, esm
для современных браузеров и iife
для всех браузеров , Я предполагаю, что пользователи библиотеки будут использовать его через веб-пакет, веб-пакет должен уметь работать с ним, получить лучший формат. Каков наилучший формат библиотеки, импортируемой через веб-пакет?
Учитывая такую файловую структуру:
src/
internal/
internal-code1.js
internal-code2.js
lib/
public-module.js
library-main.js
Я хочу, чтобы накопительный пакет встраивал это в:
dist/
public-module.js
library-main.js
Итак, я можно использовать его как
import main from 'my-library'
import {some} from 'my-library/public-module'
И нет, я не знаю, как, не только один. js, но несколько раз. js для разных форматов.
Как напишите для него конфигурацию свертки и пакет. json?
PS Я вижу, что есть некоторые npm -модульные шаблоны, которые используют webpack. Почему бы нет? Поскольку в результате объединения будут создаваться пакеты меньшего размера, я считаю, что веб-пакет здесь не лучший вариант.