
Manajer proses untuk produksi dengan load balancer. Wrappers untuk debugging dan Git hooks, melindungi aplikasi ekspres melalui header HTTP, utilitas dengan lebih dari 180 fungsi untuk bekerja dengan tanggal, dan alat lain yang akan menghemat waktu Anda. Koleksi ini sangat berguna bagi pengembang NodeJS pemula, tetapi dapat menyenangkan para skeptis yang berpengalaman.
Kapan pun Anda perlu memperbaiki masalah dengan kode Anda, kemungkinan besar paket sudah ada untuk menyelesaikan masalah Anda. Berikut adalah daftar paket yang menurut saya harus diketahui oleh setiap pengembang. Pertimbangkan paket npm ini sebagai penghemat waktu.
1. Husky
Husky memudahkan penerapan hook di Git. Ini memungkinkan Anda meminta setiap orang untuk secara otomatis melakukan lint dan menguji kode Anda sebelum melakukan atau mendorong ke repositori.
Sumber husky
Instalasi
yarn add husky
Aplikasi
Contoh pengait dengan
husky:
// package.json
{
"husky": {
"hooks": {
"pre-commit": "npm lint",
"pre-push": "npm test"
}
}
}
pre-commitberjalan sebelum melakukan.
pre-pushsebelum mengirimkan ke repositori.
2. Dotenv
Dotenv adalah modul tanpa ketergantungan. Ini memuat variabel lingkungan dari file
.envke process.env . Menjaga konfigurasi dalam lingkungan yang terpisah dari kode didasarkan pada metodologi aplikasi dua belas faktor . Sumber dotenv .
Instalasi
yarn add dotenv
Aplikasi
Tulis
requiredan setel nilai sedini mungkin dalam aplikasi Anda dotenv:
require('dotenv').config()
Buat
.envfile di direktori root proyek Anda. Tambahkan variabel lingkungan pada baris baru sebagai NAME=VALUE. Misalnya:
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
Sekarang
process.envberisi kunci dan nilai dari file .env:
const db = require('db')
db.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS})
3. tanggal-fns
Tanggal-fns mirip dengan lodash, tetapi dirancang untuk bekerja dengan tanggal. Menyediakan seperangkat alat manipulasi tanggal JavaScript yang lengkap namun sederhana dan konsisten di browser dan Node.JS.
Sumber tanggal-fns
Instalasi
yarn add date-fns
Aplikasi
Contoh dengan date-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
// ]
Dokumentasi dengan contoh dan kasus penggunaan.
4. Bunyan
Bunyan adalah pustaka logging JSON yang mudah digunakan dan kuat untuk Node.
Sumber bunyan
Instalasi
yarn add bunyan
Harap dicatat: CLI
bunyanditulis agar kompatibel (dalam alasan) dengan semua versi log Bunyan. Oleh karena itu, Anda dapat menginstalnya secara global: yarn add global bunyanuntuk mendapatkan alat ini PATHdan kemudian gunakan instalasi Bunyan lokal untuk aplikasi.
Aplikasi
Bunyan adalah perpustakaan logging JSON yang sederhana dan cepat untuk layanan Node.js.
// hi.jsconst bunyan = require('bunyan');
const log = bunyan.createLogger({name: "myapp"});
log.info("hi");
Inilah yang dikembalikan ke konsol jika Anda menjalankan
node hi.js.
5. Ramda
Ramda adalah pustaka gaya fungsional yang praktis dan berguna. Ini menekankan gaya fungsional murni. Keabadian dan fungsionalitas bebas efek samping adalah inti dari filosofi desain Ramda. Pendekatan ini dapat membantu Anda menulis kode yang sederhana dan elegan.
Sumber ramda
Instalasi
yarn add ramda
Aplikasi
import * as R from 'ramda'
const greet = R.replace('{name}', R.__, 'Hello, {name}!');
greet('Alice'); //=> 'Hello, Alice!'
Contoh kode
6. Debug
Debug adalah utilitas debugging JavaScript kecil yang dimodelkan setelah teknik debugging Node.JS.
Sumber debug
Instalasi
yarn add debug
Aplikasi
Debug menyediakan fungsi. Cukup teruskan nama modul Anda ke fungsi ini, dan itu akan mengembalikan versi yang didekorasi
console.erroruntuk meneruskan pernyataan debug.
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
Menampilkan dan menyembunyikan keluaran debug untuk modul secara keseluruhan atau sebagian.
7. Datar
Datar mengambil sebuah objek dan meratakannya. Anda juga bisa menciutkan objek yang dipisahkan kunci. [Catatan. terjemahan. - tidak hanya titik yang bisa menjadi pemisah].
Sumber Datar
Instalasi
yarn add flat
Aplikasi
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
Format Interchange Data JSON5 adalah superset dari JSON yang bertujuan untuk mengurangi beberapa batasan JSON dengan memperluas sintaksnya untuk menyertakan beberapa fitur ECMAScript 5.1 .
Sumber JSON5
Instalasi
yarn add json5
const JSON5 = require('json5')
Aplikasi
Perhatikan ekstensi file. JSON5 adalah superset, perpanjangan dari 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 adalah alat yang hebat untuk menghindari kesalahan dan menetapkan standar pengkodean untuk tim pengembangan. ESLint adalah alat untuk mengidentifikasi dan merepresentasikan pola yang ditemukan dalam kode ECMAScript / JavaScript.
Sumber ESLint
Instalasi dan aplikasi
yarn add eslint
Kemudian siapkan file konfigurasi:
./node_modules/.bin/eslint --init
Setelah itu, Anda dapat menjalankan ESLint di file atau direktori apa pun, misalnya:
./node_modules/.bin/eslint yourfile.js
Dokumentasi dengan banyak contoh untuk memulai dan menyiapkan.
10. PM2
PM2 adalah manajer proses produksi dengan penyeimbang beban bawaan. Ini memungkinkan Anda untuk menjaga aplikasi tetap berjalan setiap saat, memuatnya kembali tanpa waktu henti, dan memudahkan tugas administrasi sistem umum.
Sumber pm2
Instalasi
yarn add global pm2
Peluncuran aplikasi
Anda dapat menjalankan aplikasi apa pun (Node.js, Python, Ruby, binaries,
$PATHdan sebagainya) seperti ini:
pm2 start app.js
Aplikasi Anda sekarang berjalan di bawah kendali daemon dan terus dipantau dan dipelihara. Pelajari lebih lanjut tentang manajemen proses, mulai cepat .
Dan inilah cara Anda dapat membuat daftar semua aplikasi yang berjalan:
pm2 ls
Lihat dokumentasi resmi untuk daftar lengkap fitur dan kapabilitas.
11. Helm
Helm membantu mengamankan aplikasi ekspres melalui header HTTP. Ini bukan peluru perak, tapi bisa membantu.
Sumber helm
Instalasi
yarn add helmet
Aplikasi
Helmetditulis dalam gaya Connect dan kompatibel dengan kerangka kerja seperti Express . Jika Anda membutuhkan dukungan Koa, lihat koa-helmet.)
const express = require("express");
const helmet = require("helmet");
const app = express();
app.use(helmet());
Fungsi helm adalah pembungkus sekitar 11 middleware yang lebih kecil. Dengan kata lain, setara dengan
// ...
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. Kompresi
Kompresi adalah alat kompresi data.
Sumber kompresi
Instalasi
yarn add compression
Aplikasi
Saat menggunakan modul ini bersama dengan express, atau
connectcukup panggil compression()middleware. Permintaan yang melewati middleware akan dikompresi.
const compression = require('compression')
const express = require('express')
const app = express()
//
app.use(compression())// ...
Alat apa yang Anda gunakan untuk bekerja dengan NodeJS?
Cari tahu detail tentang cara mendapatkan profesi profil tinggi dari awal atau Naik Level dalam keterampilan dan gaji dengan mengikuti kursus online SkillFactory:
- Kursus JavaScript (12 bulan)
- - (8 )
- Java- (18 )
E
