ロードバランサーを使用した生産用のプロセスマネージャー。デバッグおよびGitフック用のラッパー、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
Dotenvは、依存関係のないモジュールです。環境変数をファイル
.env
からprocess.envにロードします。コードとは別の環境で構成を維持することは、12要素のアプリケーション手法に基づいています。ソース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はlodashに似ていますが、日付を処理するように設計されています。ブラウザとNode.JSで、完全でありながらシンプルで一貫性のあるJavaScript日付操作ツールのセットを提供します。
ソース日付-fns
インストール
yarn add date-fns
応用
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
// ]
例と使用例を含むドキュメント。
4.バニヤン
Bunyanは、Node用の使いやすく強力なJSONロギングライブラリです。
ソースbunyan
インストール
yarn add bunyan
注意: CLIは
bunyan
、すべてのバージョンのBunyanログと(理由の範囲内で)互換性があるように作成されています。したがって、グローバルにインストールできます。yarn add global bunyan
このツールをPATH
インストールしてから、アプリケーションにローカルのBunyanインストールを使用します。
応用
Bunyanは、Node.jsサービス用のシンプルで高速なJSONロギングライブラリです。
// hi.jsconst bunyan = require('bunyan');
const log = bunyan.createLogger({name: "myapp"});
log.info("hi");
を実行すると、コンソールに返される内容は次のとおり
node hi.js
です。
5.ラムダ
Ramdaは、実用的で便利な機能スタイルライブラリです。純粋な機能スタイルを強調しています。不変性と副作用のない機能は、ラムダの設計哲学の中心です。このアプローチは、シンプルでエレガントなコードを書くのに役立ちます。
ソースラムダ
インストール
yarn add ramda
応用
import * as R from 'ramda'
const greet = R.replace('{name}', R.__, 'Hello, {name}!');
greet('Alice'); //=> 'Hello, Alice!'
コード例
6.デバッグ
Debugは、Node.JSデバッグ手法をモデルにした小さなJavaScriptデバッグユーティリティです。
ソースをデバッグする
インストール
yarn add 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.フラット
Flatはオブジェクトを受け取り、それを平坦化します。キーで区切られたオブジェクトを折りたたむこともできます。[注意。transl。-ピリオドだけが区切り文字になることはできません]。
ソースフラット
インストール
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のスーパーセットであり、ECMAScript 5.1の機能の一部を含むように構文を拡張することにより、JSONの制限の一部を緩和することを目的としています。
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、バイナリなど
$PATH
)を実行できます。
pm2 start app.js
これで、アプリケーションはデーモンの制御下で実行され、継続的に監視および保守されます。プロセス管理、クイックスタートの詳細をご覧ください。
そして、実行中のすべてのアプリケーションを一覧表示する方法は次のとおりです。
pm2 ls
機能の完全なリストについては、公式ドキュメントを確認してください。
11.ヘルメット
ヘルメットは、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