какова хорошая стратегия для библиотеки javascript, которая поддерживает различные варианты - PullRequest
0 голосов
/ 12 июля 2020

, так что у меня есть библиотека, которую я хочу разбить на несколько разных вариантов с разными зависимостями ... например, библиотека javascript с использованием vanilla js, но затем jquery вариант, вариант прототипа, реагировать на вариации, et c.

, как я себе представляю, как это будет работать, для vanilla js вы бы просто

@import 'foolib'

, но если бы вы хотели jquery вариация ...

@import 'foolib/jquery'

Я открыт для других подходов, но каков хороший подход к созданию чего-то вроде этого? некоторые из конкретных c вопросов, которые у меня есть: ..

  • будут ли у них свои собственные файлы package. json для объявления своих зависимостей? или как-то иметь основной, с дополнительным пакетом. json для разных вариаций?
  • могут ли все вариации жить в одном репо? или их следует рассматривать как отдельные библиотеки?
  • должен ли каждый вариант иметь свою собственную версию c semanti? или все выпущены вместе под одной версией

, поэтому просто ищите мысли о разных стратегиях, плюсах и минусах каждой. Кроме того, было бы полезно обратиться к любой библиотеке, которая пытается решить ту же проблему

1 Ответ

1 голос
/ 12 июля 2020

Если у вас есть основная библиотека и несколько библиотек мостов для разных фреймворков и других библиотек, общее решение - сделать:

  1. Основной пакет
  2. Один пакет на мост / интеграция

Если вы, например, создаете реакцию и версию jQuery, вы не хотите получать все зависимости React, если вы всего лишь пользователь jQuery. Лучше просто получить нужные вам зависимости.

У каждого пакета должна быть своя собственная версия. Ваш вариант jQuery может получить критическое изменение, которое должно вызвать скачок основной версии, но в идеале это не должно влиять на версии других пакетов.

Все ли они находятся в одном репозитории или у каждого из них собственный репозиторий - это, скорее, дело вкуса. Для пользователя, который npm install использует ваши библиотеки, это неактуально. Оба подхода достаточно распространены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...