Chosen: Выбрано не в npm?

Созданный на 31 июл. 2013  ·  25Комментарии  ·  Источник: harvesthq/chosen

Есть файл package.json, но npm не возвращает соответствующий «выбранный» пакет.

Самый полезный комментарий

В чем сложность добавления определения пакета в форк, выбранный bower? Лень или некомпетентность? В самой аренде вы можете до некоторой степени удовлетворить пользователей узлов, вместо того, чтобы полностью их убирать.

Такой вдумчивый комментарий ... Помните, что это открытый исходный код, и каждый вносит свой вклад в свое свободное время. Кроме того, необходимо поддерживать все дополнительные функции, что требует времени. Но конечно, поскольку есть репо bower-chosen , пакет npm не должен быть далеко.

@pfiller, возможно, нам следует переименовать bower-chosen в chosen-packaged (или что-то еще, что не связано с конкретным менеджером) и включить package.json в репо.

Все 25 Комментарий

В настоящее время файл package.json в основном предназначен для установки требований Chosen для разработчиков.

Поскольку это библиотека, работающая только в браузере, а не на стороне сервера, имеет ли смысл иметь ее в npm? (это реальный вопрос, я вообще не разработчик node.js, а парень PHP, поэтому я не знаю соглашений npm)

Основная причина - использовать Browserify, чтобы в JS мы могли делать var Chosen = require('Chosen'); вместо того, чтобы немного повсюду отбрасывать тег скрипта. Серверный JS уже использует формат require , browserify просто анализирует требования (для имитации красивого определения модуля, полученного node.js, но для внешнего интерфейса) и преобразует его в большой финальный build.js (с все связанные зависимости) файл для использования в index.html.

+1 по этой проблеме - я использую browserify и использую выбранный в моем приложении, но в настоящее время я должен поместить его в каталог vendor что действительно раздражает

+1 и по этому поводу. С Browserify имеет большой смысл быть участником NPM.

+1 от меня тоже :) Также с помощью browserify

+1

+1

+1

+1

Если вам нужен этот плагин, только $ и jQuery в глобальную область, а затем chosen = require(../path/chosen.min.js)

пример:

 var $ = require('jquery');
 window.$ = $;
 window.jQuery = $;
 var chosen = require(./chosen.jquery.min.js)

и вы можете использовать в своем коде $('select').chosen();

Источник: http://www.codefornow.com/2014/06/08/browserify-jquery-and-jquery-plugins/

+1

+1

+1 для просмотра поддержки, пожалуйста

Думаю, исправить здесь довольно просто.

  1. Добавить оболочку UMD
  2. Добавить созданные файлы в репо
  3. Опубликуйте созданные файлы в npm

Если выбранная команда заинтересована в таком пиаре, дайте мне знать, и я что-нибудь сделаю. Собранные файлы тоже можно было бы выложить на Bower, и тогда проблем с разработчиками, использующими Chosen, быть не должно.

@jmeas

Добавить созданные файлы в репо

Этого не произойдет. Раньше мы так поступали, и для команды это был кошмар. Скомпилированный JS + CSS не будет добавлен в репо - это много раз обсуждалось в системе отслеживания проблем.

Предварительно скомпилированные версии доступны на странице релизов . Если выбранный вами менеджер пакетов поддерживает указание пакетов через ZIP-архивы, вам следует использовать их. См. Пример в инструкциях к

Если выбранный вами менеджер пакетов _не_ поддерживает ZIP-архивы или использует API выпусков GitHub , вам следует открыть проблему с ними, чтобы добавить поддержку для этого.

Просматривайте пользователей, у вас есть два варианта, о которых я знаю. Первый описан выше, но я резюмирую его еще раз:

Решение первое: используйте Bower и window

Следуйте инструкциям в README. К сожалению, вы не можете использовать npm , насколько мне известно, поэтому настройте bower в своем проекте и установите zip. Добавьте в свой код модуль со следующим содержимым:

var $ = require('jquery');

// Chosen requires this :(
window.jQuery = $;

require('path/to/bower_components/chosen_v1.3.0/chosen.jquery');

И это работает! jQuery, как и следовало ожидать, будет постоянно изменен, поэтому вам не нужно будет выбирать его где-либо еще в приложении.

Я рекомендую вам убедиться, что ваш линтер выдает ошибку, если вы пытаетесь получить доступ к глобальным переменным браузера, чтобы убедиться, что вы не начнете ссылаться на этот window.jQuery где-либо еще в вашем коде.

Не интересует беседка и окно? Я чувствую тебя. Второй вариант - ...

Решение второе: заверните его сами

В моих приложениях часто есть каталоги vendor для горстки библиотек, которые не упакованы для обработки загрузчиков модулей. Если вы добавите эту оболочку UMD вокруг выбранного, вы можете потребовать ее как обычно. Эта оболочка также будет работать для пользователей AMD.

Почему бы просто не использовать прокладку browserify-shim?

Это определенно вариант. Тесты моего приложения выполняются в Node + JSDom, поэтому оно должно работать без использования шиммирования или псевдонима библиотек.

К концу недели я надеюсь получить сборку Chosen на npm и bower , обернутую в UMD-оболочку, так что люди могут просто установить оттуда в будущем без каких-либо проблем. Я буду поддерживать его в актуальном состоянии, если вы мне напомните, поэтому, если вы будущий читатель, а моя вилка устарела, просто откройте вопрос, и я могу сократить выпуск.

: +1: для родного компонента беседки. Хотелось бы иметь возможность напрямую импортировать файлы scss .

+1 за добавление выбранного пакета в npm.

+9001 за добавление пакета Chosen в npm.

Похоже, что разработка Chosen идет медленно (по крайней мере, на данный момент), и сопровождающие, похоже, не заинтересованы в обновлении сред, в которых работает Chosen.

Лучший способ продвинуться вперед - это проблема. быть просто форком этого проекта, чтобы добавить поддержку npm (и, если хотите, поддержку UMD тоже!). Вы можете опубликовать новый выпуск на npm / Bower (возможно, под modern-chosen ?), А затем открыть PR для апстрима изменений.

Если они объединят его, отлично - вы можете отказаться от своего модуля. В противном случае люди начнут использовать вашу вилку.

(Я использую «вы» в смысле «кто угодно», а не какой-либо конкретный человек: P)

В чем сложность добавления определения пакета в форк, выбранный bower? Лень или некомпетентность? В самой аренде вы можете до некоторой степени удовлетворить пользователей узлов, вместо того, чтобы полностью их убирать.

В чем сложность добавления определения пакета в форк, выбранный bower? Лень или некомпетентность? В самой аренде вы можете до некоторой степени удовлетворить пользователей узлов, вместо того, чтобы полностью их убирать.

Такой вдумчивый комментарий ... Помните, что это открытый исходный код, и каждый вносит свой вклад в свое свободное время. Кроме того, необходимо поддерживать все дополнительные функции, что требует времени. Но конечно, поскольку есть репо bower-chosen , пакет npm не должен быть далеко.

@pfiller, возможно, нам следует переименовать bower-chosen в chosen-packaged (или что-то еще, что не связано с конкретным менеджером) и включить package.json в репо.

Я установил PR (# 2550), который должен заботиться о пакете npm, пожалуйста, просмотрите пример пакета, прикрепленный к этому PR, как этот пакет должен выглядеть. Спасибо!

2550 объединен, и Chosen теперь также находится в NPM как chosen-js

@koenpunt Спасибо! Проблема в том, что пакет содержит встроенные файлы, поэтому нельзя импортировать raw scss.

Связанный: # 2347

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

engintekin picture engintekin  ·  8Комментарии

alexfrancavilla picture alexfrancavilla  ·  9Комментарии

Jeckerson picture Jeckerson  ·  7Комментарии

eduardokranz picture eduardokranz  ·  6Комментарии

zerocrates picture zerocrates  ·  7Комментарии