Chosen: لم يتم اختياره في npm؟

تم إنشاؤها على ٣١ يوليو ٢٠١٣  ·  25تعليقات  ·  مصدر: harvesthq/chosen

يوجد ملف package.json ، لكن npm لا تُرجع الحزمة "المختارة" المقابلة.

التعليق الأكثر فائدة

ما هي الصعوبة في إضافة تعريف الحزمة في الشوكة المختارة بواسطة التعريشة؟ هل هو كسل أم عدم كفاءة؟ في عقد الإيجار ، يمكنك إرضاء مستخدمي العقد إلى حد ما بدلاً من خراطيمهم بالكامل.

مثل هذا التعليق المدروس .. تذكر أنه مفتوح المصدر ، والجميع يساهمون في أوقات فراغهم. بالإضافة إلى ذلك ، يجب الحفاظ على كل ميزة إضافية ، الأمر الذي يكلف الوقت. لكن بالتأكيد ، نظرًا لوجود الريبو 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 ، لكن المتصفح يوزع ببساطة ما يتطلبه (لمحاكاة تعريف الوحدة النمطية اللطيفة التي حصلت عليها node.js ، ولكن للواجهة الأمامية) وتحويلها إلى build.js نهائي كبير (باستخدام كل التبعيات المجمعة) ملف لتخدم index.html.

+1 على هذه المشكلة - أستخدم المتصفح واستخدمه المختار في تطبيقي ولكن لا بد لي حاليًا من وضعه في الدليل 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 للحصول على دعم browserify من فضلك

الإصلاح هنا سهل للغاية ، على ما أعتقد.

  1. قم بإضافة غلاف UMD
  2. أضف الملفات المبنية إلى الريبو
  3. انشر الملفات التي تم إنشاؤها على npm

إذا كان الفريق المختار مهتمًا بمثل هذه العلاقات العامة ، فأخبرني وسأضع شيئًا معًا. يمكن أيضًا وضع الملفات المبنية على Bower ، ومن ثم لن يكون هناك أي مشاكل مع المطورين الذين يستخدمون Chosen.

تضمين التغريدة

أضف الملفات المبنية إلى الريبو

هذا لن يحدث. اعتدنا القيام بذلك ، وكان كابوسا للفريق. لن تتم إضافة JS + CSS المترجم إلى الريبو - وقد نوقش هذا عدة مرات في أداة تعقب المشكلات.

يتم توفير الإصدارات المجمعة مسبقًا عبر صفحة الإصدارات . إذا كان مدير الحزم الذي تختاره يدعم تحديد الحزم عبر ملفات ZIP ، فيجب عليك استخدامها. انظر تعليمات التعريشة للحصول على مثال.

إذا كان مدير الحزم الذي تختاره لا يدعم ملفات ZIP أو يستخدم واجهة برمجة تطبيقات إصدارات 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 ، كما تتوقع ، بشكل دائم ، لذلك لن تحتاج إلى طلب الاختيار في أي مكان آخر في التطبيق.

أوصي بأن تتأكد من أن linter يلقي خطأ إذا حاولت الوصول إلى متصفح globals للتأكد من أنك لا تبدأ في الرجوع إلى هذا window.jQuery أي مكان آخر في التعليمات البرمجية الخاصة بك.

غير مهتم في التعريشة والنافذة؟ انا اشعر نعم. الخيار الثاني هو ...

الحل الثاني: لفها بنفسك

غالبًا ما تحتوي تطبيقاتي على أدلة vendor لحفنة من المكتبات التي لم يتم حزمها للتعامل مع برامج تحميل الوحدات. إذا قمت بإضافة غلاف UMD حول المختار ، فيمكنك طلب ذلك كالمعتاد. سيعمل هذا الغلاف أيضًا لمستخدمي AMD.

لماذا لا تستخدم فقط browserify-shim؟

هذا بالتأكيد خيار. يتم تشغيل اختبارات تطبيقي في Node + JSDom ، لذلك يجب أن تعمل بدون إضفاء اللمسات الأخيرة على المكتبات أو تسميتها.

بحلول نهاية الأسبوع ، آمل أن أحصل على نسخة من Chosen على npm و bower وهي ملفوفة UMD ، حتى يتمكن الأشخاص من التثبيت من هناك في المستقبل مع أي مشاكل. سأبقيها محدثة إذا ذكرتني ، لذلك إذا كنت قارئًا في المستقبل وكان مفترقتي قديمًا ، فما عليك سوى فتح مشكلة ويمكنني قطع الإصدار.

: +1: لمكون التعريشة الأصلي. هل تود أن تكون قادرًا على استيراد ملفات scss مباشرة.

+1 لإضافة الحزمة المختارة إلى npm.

+9001 لإضافة الحزمة المختارة إلى npm.

يبدو أن التطوير على Chosen في مرحلة بطيئة (في الوقت الحالي ، على الأقل) ولا يبدو أن المشرفين مهتمون بتحديث البيئات التي يعمل فيها Chosen.

أفضل طريقة للمضي قدما هو التحقيق. يكون مجرد تفرع من هذا المشروع لإضافة دعم npm (وإذا أردت ، دعم UMD أيضًا!). يمكنك نشر إصدار جديد على npm / Bower (ربما أقل من modern-chosen ؟) ثم فتح PR لاستخراج التغييرات.

إذا قاموا بدمجه ، فهذا رائع - يمكنك إهمال الوحدة الخاصة بك. وإلا سيبدأ الناس في استخدام الشوكة بدلاً من ذلك.

(أنا أستخدم كلمة "أنت" بمعنى "أي شخص" بدلاً من أي شخص معين: P)

ما هي الصعوبة في إضافة تعريف الحزمة في الشوكة المختارة بواسطة التعريشة؟ هل هو كسل أم عدم كفاءة؟ في عقد الإيجار ، يمكنك إرضاء مستخدمي العقد إلى حد ما بدلاً من خراطيمهم بالكامل.

ما هي الصعوبة في إضافة تعريف الحزمة في الشوكة المختارة بواسطة التعريشة؟ هل هو كسل أم عدم كفاءة؟ في عقد الإيجار ، يمكنك إرضاء مستخدمي العقد إلى حد ما بدلاً من خراطيمهم بالكامل.

مثل هذا التعليق المدروس .. تذكر أنه مفتوح المصدر ، والجميع يساهمون في أوقات فراغهم. بالإضافة إلى ذلك ، يجب الحفاظ على كل ميزة إضافية ، الأمر الذي يكلف الوقت. لكن بالتأكيد ، نظرًا لوجود الريبو bower-chosen ، لا ينبغي أن تكون حزمة npm بعيدة.

pfiller ربما يجب علينا إعادة تسمية bower-chosen إلى chosen-packaged (أو أي شيء آخر لا علاقة له بمدير معين) وتضمين package.json في الريبو.

لقد قمت بإعداد PR (# 2550) والذي يجب أن يعتني بحزمة npm ، يرجى مراجعة الحزمة النموذجية المرفقة بهذا PR هو الشكل الذي يجب أن تبدو عليه هذه الحزمة. شكرا!

تم دمج 2550 وأصبح Chosen الآن أيضًا على NPM كـ chosen-js

koenpunt شكرا! المشكلة هي أن الحزمة تحتوي على ملفات مبنية ، لذلك لا يمكن استيراد ملف scss.

ذات صلة: # 2347

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات