Точка входа в библиотеку js-браузера в package.json - PullRequest
0 голосов
/ 02 января 2019

Предположим, у меня есть крошечная js браузерная библиотека, которую я хочу опубликовать в npm (например, это one ).Библиотека просто включается в html-файл с тегом <script>, а затем обычно используется в html-документе (или другом js):

<script src="aplouder.js"></script>

<script>
  var library = new Aplouder({...});
</script>
  1. Что я должен указать для mainпараметр в package.json?
  2. Стоит ли переходить на browser вместо main или не указывать ни один из них полностью?

  3. ДОПОЛНИТЕЛЬНО: Что если бы у меня было 2 js файла (например, es5 и es6 вариант), которые я хотел бы опубликовать в библиотеке, и пользователь сам должен решить, какой из них использовать?

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Часто вы хотите распространять вашу библиотеку js как в виде пакета npm, так и в виде библиотеки браузера (по старинке). Один из способов справиться с этим - трактовать вашу js lib как пакет npm и предоставлять пакет браузера в папке /dist для тех, кто не полагается ни на какую систему сборки, такую ​​как module bundler (например, webpack, parcel, rollup). и т. д.)

Однако, если ваш модуль предназначен для использования на стороне клиента, вместо поля main следует использовать поле browser. Итак, отвечая на вопрос:

1 и 2 : использовать browser:

"browser": "src/aplouder.js"

3: Я рекомендую придерживаться одного из них: es5 или es6, но не обоих, поскольку в json не может быть более одной browser клавиш.

0 голосов
/ 02 января 2019

1 и 2: Ваше приложение должно быть связано с зависимостями в папке /build

3: Ваше приложение должно быть упаковано в пакеты es5 и es6

Управление пакетами осуществляется с помощью Webpack , обычно файлы es6 хранятся в каталоге /src, а пакеты хранятся в папке /build или /dist

Хорошая статья для публикации на NPM

...