Создание пакета, поддерживающего загрузку тегов browserify и jQuery ‹script›

Я работаю над библиотекой JavaScript (bitcoin-prices.js), которую я хотел бы поддерживать с помощью браузера. Библиотека зависит от jQuery. Я не хотел бы заставлять пользователей библиотеки переходить на браузер, но сохранить интеграцию «удалить один файл + тег скрипта» для тех, кто не пил последнюю версию koolaid от сообщества JavaScript.

Мой вопрос в том, как создать bundle.js с браузером, чтобы

  • пользователи с поддержкой браузера могут установить пакет из NPM, имея правильную зависимость jQuery.

  • Обычные пользователи могут по-прежнему использовать тег <script> в пакете, загружая свой jQuery, где они хотят, с другим <script>, и код по-прежнему работает нормально.

Я предполагаю, что вокруг $ = require('jquery.js') нужен какой-то шаблонный код?


person Mikko Ohtamaa    schedule 04.01.2014    source источник


Ответы (1)


Соглашение заключается в следующем (без .js):

var $ = require('jquery')

Если вы используете grunt-browserify (https://github.com/jmreidy/grunt-browserify ),

Скомпилируйте свою библиотеку следующим образом:

  your_task:{
    src:'{{your library's js file}}',
    dest:'{{your library's browserified file}}',
    options: {
      external: ["jquery"]
    }
  },

На главной странице последовательность будет такой:

<header>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      <script type="text/javascript" src="{{your library's browserified file}}"></script>
</header>

Надеюсь это поможет

person Ian Lim    schedule 17.01.2014