NodeJS: 12 حزمة لإنتاجية المطور





مدير عمليات الإنتاج مع موازن التحميل. أغلفة لتصحيح الأخطاء و Git hooks ، وتأمين التطبيقات السريعة عبر رؤوس HTTP ، والأداة المساعدة التي تحتوي على أكثر من 180 وظيفة للعمل مع التواريخ ، وغيرها من الأدوات التي ستوفر لك الوقت. هذه المجموعة مفيدة بشكل خاص لمطوري NodeJS المبتدئين ، ولكن قد ترضي المتشككين المخضرمين.



كلما احتجت إلى إصلاح مشكلة في التعليمات البرمجية الخاصة بك ، فمن المحتمل أن تكون الحزمة موجودة بالفعل لحل مشكلتك. فيما يلي قائمة بالحزم التي أعتقد أن كل مطور يجب أن يعرفها. اعتبر حزم npm هذه بمثابة توفير للوقت.



1. أجش



يجعل Husky من السهل تنفيذ الخطافات في Git. يسمح لك بمطالبة الجميع بفحص التعليمات البرمجية واختبارها تلقائيًا قبل الالتزام أو الدفع إلى المستودع.





مصادر أجش



التركيب



yarn add husky


تطبيق



مثال على الخطافات ذات husky:



// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "npm lint",
      "pre-push": "npm test"
    }
  }
}


pre-commitيعمل قبل الالتزام.

pre-pushقبل التقديم إلى المستودع.






2. دوتنف



Dotenv هي وحدة نمطية بدون تبعيات. يقوم بتحميل متغيرات البيئة من ملف .envإلى process.env . يعتمد الحفاظ على التكوين في بيئة منفصلة عن الكود على منهجية التطبيق المكونة من اثني عشر عاملاً . مصادر dotenv .



التركيب



yarn add dotenv


تطبيق



في أقرب وقت ممكن في التطبيق الخاص بك ، اكتب requireالقيم وقم بتعيينها dotenv:



require('dotenv').config()


قم بإنشاء .envملف في الدليل الجذر لمشروعك. أضف متغيرات البيئة على الأسطر الجديدة كـ NAME=VALUE. على سبيل المثال:



DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3


process.envيحتوي الآن على المفاتيح والقيم من الملف .env:



const db = require('db')
db.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS})





3.date-fns



Date-fns يشبه اللوداش ، ولكنه مصمم للعمل مع التمور. يوفر مجموعة كاملة وبسيطة ومتسقة من أدوات معالجة التاريخ في JavaScript في المستعرض و Node.JS.





مصادر التاريخ fns



التركيب



yarn add date-fns


تطبيق



مثال مع تاريخ fns:



import { compareAsc, format } from 'date-fns'
format(new Date(2014, 1, 11), 'yyyy-MM-dd')  
//=> '2014-02-11'
const dates = [  
  new Date(1995, 6, 2),  
  new Date(1987, 1, 11),  
  new Date(1989, 6, 10),  
]  
dates.sort(compareAsc)  
//=> [  
//   Wed Feb 11 1987 00:00:00,  
//   Mon Jul 10 1989 00:00:00,  
//   Sun Jul 02 1995 00:00:00  
// ]


التوثيق مع الأمثلة وحالات الاستخدام.






4. بنيان



Bunyan هي مكتبة تسجيل JSON سهلة الاستخدام وقوية لـ Node.





مصادر بنيان



التركيب



yarn add bunyan


يرجى ملاحظة: CLI bunyanمكتوب ليكون متوافقًا (في حدود المعقول) مع جميع إصدارات سجلات Bunyan. لذلك ، يمكنك تثبيته عالميًا: yarn add global bunyanللحصول على هذه الأداة PATHثم استخدام عمليات تثبيت Bunyan المحلية للتطبيقات.



تطبيق



Bunyan هي مكتبة تسجيل JSON بسيطة وسريعة لخدمات Node.js.



// hi.jsconst bunyan = require('bunyan');
const log = bunyan.createLogger({name: "myapp"});
log.info("hi");


إليك ما يتم إرجاعه إلى وحدة التحكم إذا قمت بتشغيل node hi.js.










5. رمدة



Ramda هي مكتبة نمط وظيفي عملية ومفيدة. إنه يؤكد على الأسلوب الوظيفي الخالص. الثبات والوظائف الخالية من الآثار الجانبية هي في صميم فلسفة تصميم Ramda. يمكن أن يساعدك هذا الأسلوب في كتابة تعليمات برمجية بسيطة وأنيقة.





مصادر رامدا



التركيب



yarn add ramda


تطبيق



import * as R from 'ramda'
const greet = R.replace('{name}', R.__, 'Hello, {name}!'); 
greet('Alice'); //=> 'Hello, Alice!'


أمثلة التعليمات البرمجية






6. التصحيح



Debug هو أداة مساعدة صغيرة لتصحيح أخطاء JavaScript تم تصميمها على غرار تقنية التصحيح Node.JS.





مصادر التصحيح



التركيب



yarn add debug


تطبيق



يوفر Debug وظيفة. ببساطة قم بتمرير اسم الوحدة الخاصة بك إلى هذه الوظيفة ، وسوف تعيد نسخة مزخرفة console.errorلتمرير عبارات التصحيح.



const debug = require('debug');
const log = debug('http:server');
const http = require('http');
const name = 'My App name';
log('booting %o', name);
http.createServer((req, res) => {
  log(req.method + ' ' + req.url);
  res.end('debug examplen');
}).listen(3200, () => {
  log('listening');
});
//   
// DEBUG=http:server node app.js


يظهر ويخفي إخراج تصحيح الأخطاء لوحدة نمطية ككل أو أجزاء منها.








7. شقة



المسطح يأخذ الجسم ويسطحه. يمكنك أيضًا طي كائن مفصول بمفتاح. [ملحوظة. ترجمة. - ليس فقط الفترة يمكن أن تكون فاصلة].





مصادر شقة



التركيب



yarn add flat


تطبيق



const flatten = require('flat')
flatten({  
    key1: {  
        keyA: 'valueI'  
    },  
    key2: {  
        keyB: 'valueII'  
    },  
    key3: { a: { b: { c: 2 } } }  
})
// {  
//   'key1.keyA': 'valueI',  
//   'key2.keyB': 'valueII',  
//   'key3.a.b.c': 2  
// }







8. JSON5



تنسيق تبادل البيانات JSON5 هو مجموعة شاملة من JSON تهدف إلى التخفيف من بعض قيود JSON من خلال توسيع بناء الجملة ليشمل بعض ميزات ECMAScript 5.1 .





مصادر JSON5



التركيب



yarn add json5  
const JSON5 = require('json5')


تطبيق



انتبه إلى امتداد الملف. JSON5 هو مجموعة شاملة ، امتداد لـ JSON.



{
  // 
  unquoted: 'and you can quote me on that',
  singleQuotes: 'I can use "double quotes" here',
  lineBreaks: "Look, Mom! \
No \\n's!",
  hexadecimal: 0xdecaf,
  leadingDecimalPoint: .8675309, andTrailing: 8675309.,
  positiveSign: +1,
  trailingComma: 'in objects', andIn: ['arrays',],
  "backwardsCompatible": "with JSON",
}





9. ESLint



ESLint هي أداة رائعة لتجنب الأخطاء ووضع معايير الترميز لفرق التطوير. ESLint هي أداة لتحديد وتمثيل الأنماط الموجودة في كود ECMAScript / JavaScript.





مصادر ESLint



التثبيت والتطبيق



yarn add eslint


ثم قم بإعداد ملف التكوين:



./node_modules/.bin/eslint --init


بعد ذلك يمكنك تشغيل ESLint في أي ملف أو دليل ، على سبيل المثال:



./node_modules/.bin/eslint yourfile.js


توثيق مع العديد من الأمثلة على البدء والإعداد.






10. PM2



PM2 هو مدير عمليات الإنتاج مع موازن تحميل مدمج. يتيح لك الاحتفاظ بالتطبيقات قيد التشغيل في جميع الأوقات ، وإعادة تحميلها دون توقف ، وتيسير مهام إدارة النظام الشائعة.





المصادر pm2



التركيب



yarn add global pm2


إطلاق التطبيق



يمكنك تشغيل أي تطبيق (Node.js و Python و Ruby و binaries $PATHوما إلى ذلك) مثل هذا:



pm2 start app.js


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



وإليك كيفية سرد كافة التطبيقات قيد التشغيل:



pm2 ls






تحقق من الوثائق الرسمية للحصول على قائمة كاملة من الميزات والإمكانيات.






11. خوذة



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





مصادر الخوذة



التركيب



yarn add helmet


تطبيق



Helmetمكتوب بأسلوب Connect ومتوافق مع أطر مثل Express . إذا كنت بحاجة إلى دعم Koa ، فراجع koa-helmet.)



const express = require("express");  
const helmet = require("helmet");
const app = express();
app.use(helmet());


وظيفة الخوذة عبارة عن غلاف حول 11 برمجية وسيطة أصغر. بمعنى آخر ، ما يعادل



// ...
app.use(helmet());
// ... : 
app.use(helmet.contentSecurityPolicy());  
app.use(helmet.dnsPrefetchControl());  
app.use(helmet.expectCt());  
app.use(helmet.frameguard());  
app.use(helmet.hidePoweredBy());  
app.use(helmet.hsts());  
app.use(helmet.ieNoOpen());  
app.use(helmet.noSniff());  
app.use(helmet.permittedCrossDomainPolicies());  
app.use(helmet.referrerPolicy());  
app.use(helmet.xssFilter());





12. ضغط



الضغط هو أداة لضغط البيانات.





مصادر الضغط



التركيب



yarn add compression


تطبيق



عند استخدام هذه الوحدة جنبًا إلى جنب مع البريد السريع ، أو connectمجرد استدعاء compression()في البرامج الوسيطة. الطلبات التي تمر عبر البرمجيات الوسيطة سيتم ضغطها.



const compression = require('compression')  
const express = require('express')
const app = express()
//     
app.use(compression())// ...


ما الأدوات التي تستخدمها للعمل مع NodeJS؟



صورة


تعرف على تفاصيل كيفية الحصول على مهنة رفيعة المستوى من البداية أو من المستوى الأعلى في المهارات والراتب من خلال حضور دورات SkillFactory عبر الإنترنت:





E







All Articles