ما هو NPM؟ هل تعتقد أنك يمكن أن تفعل ذلك؟
يبدو أنه يجب عليّ تنزيل بعض البرامج الخاصة وتثبيتها لنشر UPNG.js في "npm". عندما أقوم بتحديث مكتبتي ، هل سيتعين علي تحديثها في كل من GitHub و npm ، أم أن npm يمكنها بطريقة ما الاتصال بـ GitHub وتنزيل أحدث إصدار؟
أهلا! أنا آسف ، لم أكن أعلم أنك لم تكن على دراية بـ NodeJS / NPM. NPM هو أكبر حل لإدارة الحزم / التبعية على وجه الأرض. لا يزال الرمز موجودًا على جيثب ، ثم يتم تمكين المطورين لتنزيل التعليمات البرمجية الخاصة بك واستخدامها بشكل أكثر راحة.
مما يعني: التثبيت عبر أوامر وحدة التحكم ( npm install upng
)
والاستخدام عبر require('upng')
على سبيل المثال. أيضًا ، تريد تجنب تناثر مساحة اسم الكائن العمومية ( window.upng
)).
منذ أن تم نشر هذا الرمز على موقع echojs.com ، اعتقدت أنك تعرف شيئًا عن NodeJS.
سأرى ما إذا كان بإمكاني العثور على الوقت لإنشاء طلب سحب لنشره على NPM ، ولكن يجب أن تكون الشخص الذي ينشر على NPM ، منذ أن أنشأت المكتبة. يمكن العثور على الوثائق هنا: https://docs.npmjs.com/cli/publish
يعد إنشاء الحزمة لجعلها متاحة لـ NPM أمرًا بسيطًا للغاية.
شاهد المزيد من المعلومات هنا: https://docs.npmjs.com/cli/init
هل لديهم واجهة ويب؟ أستخدم GitHub من خلال واجهة الويب. يبدو لي أنه من الجنون تنزيل تثبيت بعض البرامج فقط لإرسال 12 كيلو بايت إلى بعض الخوادم.
لا ، لا يفعلون. تحتاج إلى تثبيت برنامج خاص لإدارة الحزم ( npm ) ، والذي يعمل ويتم شحنه مع الجهاز الظاهري الخاص به ( node.js ). غالبًا ما يتم أساسي لتشغيل تطبيقات سطح المكتب أو حتى للتحكم في الأجهزة المادية عبر Arduino أو Raspberry Pi.
أستطيع أن أرى أنك تستخدم نمط "التصدير الشامل" في شفرتك ، وهو أمر لم يعد مستحسنًا. أنت بحاجة إلى وحدة CommonJS على الأقل ، أفضل - UMD أو بشكل مثالي وحدة ES6 تم تحويلها إلى UMD بواسطة بعض الحزم ، مثل Webpack أو Brunch أو Rollup (هناك الكثير من هذه).
لجعل الكود قابلاً للقراءة ويحظى بإعجاب الجميع ، يجب عليك استخدام أحدث ميزات لغة EcmaScript ثم Babel .
نظرًا لأن الشيء الذي تقوم بإنشائه هو مكتبة ، فقد ترغب في استخدام VSCode قادرون على إظهار تلميحات الكتابة بناءً على أنواع TypeScript.
موضوع منفصل هو اختبار يحركها التنمية. أستطيع أن أرى أنك لم تكتب أي اختبار لشفرتك ، وهو أمر لم يعد مقبولاً في مجتمع المصدر المفتوح. تأكد من اختيار عداء اختبار مثل Mocha أو Jasmine أو Ava جنبًا إلى جنب مع إحدى مكتبات التأكيد: Chai أو PowerAssert أو ربما مدمجة assert
من node.js كما قمت بالفعل بتثبيتها. من الناحية المثالية قبل كل عملية نشر ، يمكنك إجراء اختبارات عبر المتصفح على BrowserStack أو SauceLabs من خلال Karma ، للتأكد من أن الكود الخاص بك يعمل في كل مكان.
إذا كنت تستخدم خادم Continuous Integration لجميع عناصر الترجمة والبناء والاختبار ، فستتمكن من إضافة شارات رائعة إلى README في مستودع GitHub أو
هذا مجرد غيض من فيض. مرحبًا بكم في تطوير الواجهة الأمامية AD 2017.
ملاحظة
يمكنك أيضًا تجاهل كل هذا والاستمرار في القيام بعمل رائع كما كنت تفعل حتى الآن!
شكرا جزيلا لتعليقاتك لك. يبدو أن تنزيل كل هذه البرامج وتثبيتها وتعلم كيفية استخدامها سيستغرق وقتًا أطول مما قضيته في تطوير UPNG.js. لست بحاجة إليهم لأي غرض آخر. وبالتالي ، قررت ترك هذه المهمة لشخص آخر (لا تتردد في نشر UPNG.js على npm أو أي "قواعد بيانات / مواقع رموز" أخرى).
ملاحظة: ما زلت أعتقد أنه عند تخيل "بيئة جافا سكريبت قياسية" ، لا يجب أن تتخيل Node.js (التي يمتلكها آلاف الأشخاص) بل متصفح ويب (يمتلكه مليارات الأشخاص).
التعليق الأكثر فائدة
لا ، لا يفعلون. تحتاج إلى تثبيت برنامج خاص لإدارة الحزم ( npm ) ، والذي يعمل ويتم شحنه مع الجهاز الظاهري الخاص به ( node.js ). غالبًا ما يتم أساسي لتشغيل تطبيقات سطح المكتب أو حتى للتحكم في الأجهزة المادية عبر Arduino أو Raspberry Pi.
أستطيع أن أرى أنك تستخدم نمط "التصدير الشامل" في شفرتك ، وهو أمر لم يعد مستحسنًا. أنت بحاجة إلى وحدة CommonJS على الأقل ، أفضل - UMD أو بشكل مثالي وحدة ES6 تم تحويلها إلى UMD بواسطة بعض الحزم ، مثل Webpack أو Brunch أو Rollup (هناك الكثير من هذه).
لجعل الكود قابلاً للقراءة ويحظى بإعجاب الجميع ، يجب عليك استخدام أحدث ميزات لغة EcmaScript ثم Babel .
نظرًا لأن الشيء الذي تقوم بإنشائه هو مكتبة ، فقد ترغب في استخدام VSCode قادرون على إظهار تلميحات الكتابة بناءً على أنواع TypeScript.
موضوع منفصل هو اختبار يحركها التنمية. أستطيع أن أرى أنك لم تكتب أي اختبار لشفرتك ، وهو أمر لم يعد مقبولاً في مجتمع المصدر المفتوح. تأكد من اختيار عداء اختبار مثل Mocha أو Jasmine أو Ava جنبًا إلى جنب مع إحدى مكتبات التأكيد: Chai أو PowerAssert أو ربما مدمجة
assert
من node.js كما قمت بالفعل بتثبيتها. من الناحية المثالية قبل كل عملية نشر ، يمكنك إجراء اختبارات عبر المتصفح على BrowserStack أو SauceLabs من خلال Karma ، للتأكد من أن الكود الخاص بك يعمل في كل مكان.إذا كنت تستخدم خادم Continuous Integration لجميع عناصر الترجمة والبناء والاختبار ، فستتمكن من إضافة شارات رائعة إلى README في مستودع GitHub أو
هذا مجرد غيض من فيض. مرحبًا بكم في تطوير الواجهة الأمامية AD 2017.
ملاحظة
يمكنك أيضًا تجاهل كل هذا والاستمرار في القيام بعمل رائع كما كنت تفعل حتى الآن!