javascript - معنى - js download




الفرق بين Grunt و NPM و Bower(package.json vs bower.json) (2)

Npm و Bower هما كلاً من أدوات إدارة التبعية. لكن الفرق الرئيسي بين كلاهما يستخدم npm لتثبيت الوحدات النمطية للعُقد js ، لكن jers bower يستخدم في إدارة مكونات الواجهة الأمامية مثل html و css و js etc.

والحقيقة التي تجعل هذا الأمر أكثر تشويشًا هو أن npm توفر بعض الحزم التي يمكن استخدامها في تطوير الواجهة الأمامية أيضًا ، مثل grunt و jshint .

هذه الخطوط تضيف المزيد من المعنى

يمكن أن يكون Bower ، على عكس npm ، ملفات متعددة (مثل .js ، .css ، .html ، .png ، .ttf) والتي تعتبر الملف (الملفات) الرئيسية. يعتبر BÖGELI أن هذه الملفات الرئيسية ، عند تعبئتها معًا ، هي أحد المكونات.

تحرير : Grunt يختلف تماماً عن Npm و Bower. Grunt هي أداة تشغيل أداة javascript للمهام. يمكنك القيام بالكثير من الأشياء باستخدام النخر الذي كان عليك القيام به بطريقة أخرى. تسليط الضوء على بعض استخدامات Grunt:

  1. ضغط بعض الملفات (على سبيل المثال ، إضافة zipup)
  2. linting على ملفات شبيبة (jshint)
  3. تجميع ملفات أقل (grunt-contrib-less)

هناك الإضافات الناخر لمجموعة ساس ، مقارعة جافا سكريبت الخاص بك ، ونسخ الملفات / المجلدات ، وتخطيط جافا سكريبت الخ.

يرجى ملاحظة أن البرنامج المساعد الناخر هو أيضا حزمة npm.

السؤال رقم 1

عندما أريد إضافة حزمة (والتحقق من التبعية إلى git) ، أين تنتمي - إلى package.json أو bower.json

إنه يعتمد في الواقع على المكان الذي تنتمي إليه هذه الحزمة. إذا كانت وحدة العقدة (مثل نخر ، طلب) ، فإنه سوف يذهب في package.json خلاف ذلك في jones bower.

السؤال 2

متى يجب أن أقوم بتثبيت الحزم بشكل صريح كهذا بدون إضافتها إلى الملف الذي يدير التبعيات

لا يهم ما إذا كنت تقوم بتثبيت حزم بشكل صريح أو الإشارة إلى التبعية في ملف .json. لنفترض أنك في منتصف العمل على مشروع عقدة ، وتحتاج إلى مشروع آخر ، مثل request ، ثم لديك خياران:

  • قم بتحرير ملف package.json وإضافة تبعية على "طلب"
  • تركيب npm

أو

  • استخدام سطر الأوامر: npm install --save request

--save خيارات --save يضيف التبعية إلى ملف package.json كذلك. إذا لم تحدد - خيار --save ، فسيتم تنزيل الحزمة فقط ولكن لن يتأثر ملف json.

يمكنك القيام بذلك في كلتا الحالتين ، لن يكون هناك فرق كبير.

أنا جديد لاستخدام npm و bower ، وبناء أول تطبيق لي في emberjs :).
لدي خبرة كبيرة في القضبان ، لذا فأنا على دراية بفكرة الملفات الخاصة بالاعتمادية القائمة (مثل Bundver Gemfile)

السؤال: عندما أريد إضافة حزمة (والتحقق من التبعية إلى git) ، أين تنتمي - إلى package.json أو bower.json ؟

من ما جمع،
تشغيل bower install سيجلب الحزمة ووضعها في /vendor دليل /vendor ،
تشغيل npm install ووضعه في /node_modules الدليل.

تقول إجابة SO هذه أن bower هو الواجهة الأمامية وأن npm هي للأشياء الخلفية.
يبدو أن Ember-app-kit to يلتزم بهذا التمييز من النظرة الأولى ... لكن التعليمات في gruntfile لتمكين بعض الوظائف تعطي أمرين صريحين ، لذلك أنا مرتبك تمامًا هنا.

حدسي أنا أحزر ذلك

  1. npm install --save-dev package-name سيكون معادلاً لإضافة اسم الحزمة إلى الحزمة الخاصة بي. json

  2. تثبيت bower - حفظ اسم الحزمة قد يكون هو نفسه إضافة الحزمة إلى bower.json وتشغيل تثبيت bower ؟

إذا كانت هذه هي الحالة ، فمتى يجب أن أقوم بتثبيت الحزم بشكل صريح كهذا دون إضافتها إلى الملف الذي يدير التبعيات (بصرف النظر عن تثبيت أدوات سطر الأوامر على مستوى العالم)؟


تحديث لمنتصف عام 2016 :

تتغير الأشياء بسرعة كبيرة حتى إذا كانت أواخر 2017 قد لا تكون هذه الإجابة محدثة!

يمكن للمبتدئين أن يضيعوا بسرعة في اختيار أدوات البناء وسير العمل ، ولكن الأكثر حداثة في عام 2016 لا يستخدم باور أو جرانت أو غالب على الإطلاق! مع مساعدة من Webpack يمكنك القيام بكل شيء مباشرة في NPM!

لا تفهمني بأن الناس يستخدمون تدفقات عمل أخرى ولا أزال أستخدم برنامج GULP في مشروعي القديم (ولكنني أخرج منه ببطء) ، ولكن هذه هي الطريقة التي يتم بها ذلك في أفضل الشركات والمطورين الذين يعملون في هذا العمل يجلبون الكثير من المال!

انظر إلى هذا القالب وهو إعداد حديث للغاية يتكون من مزيج من أفضل وأحدث التقنيات: https://github.com/coryhouse/react-slingshot

  • Webpack
  • الآلية الوقائية الوطنية كأداة بناء (لا غالب أو غرة أو باور)
  • رد فعل مع Redux
  • ESLint
  • القائمة طويلة. اذهب واستكشف!

أسئلتك:

عندما أريد إضافة حزمة (والتحقق من التبعية إلى git) ، أين تنتمي - إلى package.json أو bower.json

  • كل شيء ينتمي في package.json الآن

  • التبعيات المطلوبة للبناء موجودة في "devDependencies" أي npm install require-dir --save-dev (--save-dev بتحديث package.json عن طريق إضافة إدخال إلى devDependencies)

  • التبعيات المطلوبة للتطبيق الخاص بك أثناء وقت التشغيل هي في "التبعيات" أي npm install lodash --save (- حافظ على تحديث الحزمة الخاصة بك عن طريق إضافة إدخال إلى التبعيات)

إذا كانت هذه هي الحالة ، فمتى يجب أن أقوم بتثبيت الحزم بشكل صريح كهذا دون إضافتها إلى الملف الذي يدير التبعيات (بصرف النظر عن تثبيت أدوات سطر الأوامر على مستوى العالم)؟

دائما . فقط بسبب الراحة. عند إضافة علامة ( --save-dev أو --save ) يتم تحديث الملف الذي يدير deps (package.json) تلقائيًا. لا تضيع الوقت عن طريق تحرير التبعيات فيه يدويا. اختصار لـ npm install --save-dev package-name is npm i -D package-name and shortcut for npm install --save package-name is npm i -S package-name





web-frontend