مقدمة
في تطوير الفريق ، سواء أكانت تكتب الواجهة الأمامية (JS ، CSS ، HTML) أو الواجهة الخلفية ، فغالبًا ما نحتاج إلى حل مشكلة: كيفية توحيد نمط رمز الفريق. تستخدم هذه المقالة بشكل رئيسي ما قبل الوطن ، ESLINT ، و JS-Beautify لتنفيذ التحكم في نمط الكود.
فيما يلي الأدوات الثلاثة وطرق الاستخدام:
قبل الوطن
يمكن لهذه الأداة تنفيذ وظيفة خطاف GIT ، وإدراج بعض السلوكيات المخصصة في عملية GIT ، مثل تنفيذ الكشف عن التعليمات البرمجية قبل الالتزام ، وإذا لم يمر ، فسيتم الإبلاغ عن خطأ.
eslint
أداة تدقيق تنسيق الكود ، يمكنك الجمع بين وتكوين أنماط مختلفة في الإرادة ، واستخدامها لتشكيل مواصفات الكود الموحد للفريق.
JS-Beautiful
JS Code Organization وأدوات التجميل.
ثم تتعاون الأدوات الثلاث مع بعضها البعض لإنشاء التأثيرات التالية:
1. يحدد قائد المشروع مواصفات رمز ESLINT.
2. استخدم مسبقًا لتشغيل مراقبة رمز ESLINT وتجميل الرمز JS-Beautiful قبل الالتزام
3. إذا مرت ، تلقائيا "git إضافة." سيسمح للدفع.
ينجز
1: NPM قم بتثبيت الأدوات المذكورة أعلاه
$ npm install eslint js-beautify pre-git --save-dev
الثاني: تكوين الأداة
قم بإنشاء ملف .eslintrc.json جديد في دليل الجذر وتكوين المواصفات ، ومنحه نسخة مبسطة:
ملاحظة: إذا كنت بحاجة إلى مزيد من الاختبارات ، فيرجى زيارة موقع Eslint الرسمي
{"القواعد": {"comma-dangling": ["error" ، "never"] ، "style-body-style": ["Warn" ، "دائمًا"] ، "NO-CONST-ASSIGN": ["Error"]} ، "ParserOptions": {"بسبب الاختبار ، هناك دائمًا أخطاء عند استخدام الملفات المتعددة الطبقات المتكررة JS-Beautive في Bash ، لذلك يتم استخدام البرنامج النصي لتجميل الرمز:
Beatufyjs.js
const fs = require ('fs') ؛ const path = require ('path') ؛ const child_process = require ('child_process') ؛ for (let arg of process.argv.splice (2)) {let pathname = path.join (process.cwd () ، arg) ؛ if (isfile (path.join (process.cwd () ، arg))))) msg.replace ('/// n' ، '')) ؛ } آخر {read_dir (pathName) ؛ }} function read_dir (dir) {let files = fs.readdirsync (dir) ؛ لـ (دع ملف الملفات) {Let PathName = path.join (dir ، file) ؛ if (isfile (pathname)) {child_process.exec (`. ) ؛ } آخر {read_dir (pathName) ؛ }}} دالة isfile (path) {return arviists (path) && fs.statsync (path) .isfile () ؛ } الوظيفة موجودة (path) {return fs.existssync (path) || path.existssync (path) ؛ }ثلاثة: استخدم الأدوات المذكورة أعلاه
تكوين في ملف package.json:
{"name": "Demo" ، "الإصدار": "1.0.0" ، "الوصف": "" ، "Main": "index.js" ، "نصوص": {"lint": ". libs-quiet-fix "،" js-beautify ": Lint-Fix "،" NPM Run JS-Beautify "،" Git Add. " ] ، "قبل push": [] ، "ما بعد الالتزام": [] ، "بعد التحقق": [] ، "ما بعد merge": []}} ، "devDependencies": {"eslint": "^2.12.0" ، "JS-Beautify": "^1.6.3 ،"في هذا الوقت ، عندما تقوم بتعديل أحد الملفات ثم "GIT ADD && git Complay -M 'msg'" ، سيتم تنفيذ الأوامر الثلاثة في الالتزام المسبق. إذا كان هناك خطأ في الوسط ، فسيتم إيقاف التقديم وسيستمر التقديم بعد اكتمال التعديل.
شيء واحد يجب ملاحظة أنه إذا لم تكن بعض مشكلات التنسيق كافية للإبلاغ عن خطأ ، فستقوم طريقة التعديل تلقائيًا بتعديل رمز التحسين وإضافته تلقائيًا وتعديله. في الخطوة الأخيرة ، فقط تنفيذ: Git Push ! يمكن دمجها مع اختبارات الوحدة ، أفضل
لخص
ما سبق هو كل محتوى كيفية مراجعة رمز الفريق تلقائيًا باستخدام Node.js. إذا كنت في حاجة إليها ، يمكنك الرجوع إليها.