
مدير عمليات الإنتاج مع موازن التحميل. أغلفة لتصحيح الأخطاء و 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 عبر الإنترنت:
- دورة JavaScript (12 شهرًا)
- - (8 )
- Java- (18 )
E
