Какой смысл использовать pkg.module (.esm.js) в package.json, используя rollup.js - PullRequest
0 голосов
/ 25 октября 2019

После прочтения этих двух постов:

https://2ality.com/2017/04/setting-up-multi-platform-packages.html https://github.com/rollup/rollup/wiki/pkg

Мне все еще не ясен смысл экспорта модуля ESM, такого как

"module": "dist/dop.esm.js",

Если моя библиотека написана как ESM, не имеет смысла экспортировать ее в src?

"module": "src/index.js",

1 Ответ

1 голос
/ 25 октября 2019

В некоторых случаях да. Но если ваш исходный код разделен на несколько модулей, лучше предоставить пакет этих модулей потребителям вашей библиотеки. Это потому, что некоторые (кхм) менее эффективные компоновщики не справятся с объединением этих модулей и добавлением дополнительных байтов. И если ваша библиотека должна использоваться в браузере, лучше, если браузер может сделать один запрос, а не запрос для каждого исходного модуля (это все еще верно для HTTP / 2).

Существует также тот случай, когда ваш исходный код импортирует не-JS-файлы (такие как JSON или TypeScript), которые должны быть обработаны с помощью плагина Rollup - гораздо проще справиться с этим на уровне библиотеки, чем ожидатьпотребители вашей библиотеки для поддержания правильной конфигурации.

...