2020年最推薦、最有用NodeJS庫


Express

快速,簡單,極簡的節點Web框架


cheerio

Cheerio解析標記(例如HTML),並提供用於遍歷/操縱結果數據結構的API

const cheerio = require(\’cheerio\’);

const $ = cheerio.load(\’

\’);


 nodemailer

從Node.js發送電子郵件

const nodemailer = require("nodemailer"); let testAccount = await nodemailer.createTestAccount(); let transporter = nodemailer.createTransport({ host: "smtp.ethereal.email", port: 587, secure: false, auth: { user: testAccount.user, pass: testAccount.pass } }); let info = await transporter.sendMail({ from: \'"Fred Foo " <foo@example.com>\', to: "bar@example.com, baz@example.com", subject: "Hello ✔", text: "Hello world?", html: "Hello world?" });

socket.io

Socket.IO支持基於事件的實時雙向通信
const server = require(\'http\').createServer(); const io = require(\'socket.io\')(server); io.on(\'connection\', client => { client.on(\'event\', data => { ... }); client.on(\'disconnect\', () => { ... }); }); server.listen(3000);

好處

· 實施實時分析,二進制流,實例消息傳遞和文檔協作

· 知名用戶包括Microsoft Office,Yammer和Zendesk


Multer

地址:https://www.npmjs.com/package/multer

Multer是一個Node.js中間件,用於處理 multipart/form-data 類型的表單數據,主要用於文件上傳。

 


Moment

地址:https://www.npmjs.com/package/moment

一個輕量級的JavaScript日期庫,用於解析,驗證,操作和格式化日期。

 


 lodash

地址:https://www.npmjs.com/package/lodash

Lodash 減少數組、數字、對象、字符串等工作的麻煩,它讓 JS 變得更容易。

 


 chalk

地址:https://www.npmjs.com/package/chalk

chal 可譯為“粉筆”,node 終端樣式庫,主要功能為使輸出不再單調,添加文字背景,改變字體顏色

 


 chalk

地址:https://www.npmjs.com/package/chalk

chal 可譯為“粉筆”,node 終端樣式庫,主要功能為使輸出不再單調,添加文字背景,改變字體顏色

 


 validator

地址:https://www.npmjs.com/package/validator

輕量,快捷,易擴展的前端的驗證工具,無其他包依賴無樣式,可以適合絕大部分使用情景,開發人員可根據項目環境自行組裝反饋的錯誤信息給用戶。

 

 JSDoc

地址:https://www.npmjs.com/package/jsdoc

JSDoc是一個根據javascript文件中注釋信息,生成JavaScript應用程序或庫、模塊的API文檔 的工具。

 

 Helmet

地址:https://www.npmjs.com/package/helmet

Helmet是一系列幫助增強Node.JS之Express/Connect等Javascript Web應用安全的中間件。

一些著名的對Web攻擊有XSS跨站腳本, 腳本注入 clickjacking 以及各種非安全的請求等對Node.js的Web應用構成各種威脅,使用Helmet能幫助你的應用避免這些攻擊。

 

 Crypto-js

地址:https://www.npmjs.com/package/crypto-js

CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密算法。

 

forever 

可能是確保給定 node 腳本連續運行的最常用工具。遇到任何意外故障時,可以使你的 Node.js 流程保持在生產中。

 

bluebird 

功能全面的 Promises / A + 實現,具有出色的性能

Faker

在瀏覽器和node.js中生成大量假數據
var faker = require(\'faker\'); var randomName = faker.name.findName(); // Rowan Nikolaus var randomEmail = faker.internet.email(); // Kassandra@erich.biz var randomCard = faker.helpers.createCard(); // random contact card

好處

· 在API后端構建尚未完成的情況下構建前端UI並與數據進行交互

· 多種API方法,包括地址,公司,數據庫,圖像,名稱(firstName,lastName)


morgan

Node.js的HTTP請求記錄器中間件

例如GET / 200 51.267 ms — 1539

morgan
(\':method :url :status :res[content-length] - :response-time ms\') --- var express = require(\'express\') var morgan = require(\'morgan\') var app = express() app.use(morgan(\'combined\')) app.get(\'/\', function (req, res) { res.send(\'hello, world!\') })

好處

· 將請求記錄在控制台,文件,數據庫中

· 調試和日志歷史記錄


http-errors

為Express,Koa,Connect等創建HTTP錯誤。
app.use(function (req, res, next) { if (!req.user) return next(createError(401, \'Please login to view this page.\')) next() })

好處

· 易於發送錯誤響應

· 許多錯誤屬性可用

expose
headers
message
status
statusCode


body-parser

Node.js主體解析中間件

在處理程序之前在中間件中解析傳入的請求主體,該處理程序在req.body屬性下可用

var express = require(\'express\') var bodyParser = require(\'body-parser\') var app = express() // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false })) // parse application/json app.use(bodyParser.json())

好處

· 解釋請求正文

· 許多選項,例如inflate,type,verify


sequelize

Sequelize是用於Postgres,MySQL,MariaDB,SQLite和Microsoft SQL Server的基於承諾的Node.js ORM

它具有可靠的事務支持,關系,急切和延遲加載,讀取復制等功能

const sequelize = new Sequelize
  (\'database\', \'username\', \'password\', { host: \'localhost\', dialect: /* one of \'mysql\' | \'mariadb\' | \'postgres\' | \'mssql\' */ });

好處

· Node.js ORM


passport

Passport是Node.js的Express兼容身份驗證中間件

Passport的唯一目的是對請求進行身份驗證,它通過一組稱為策略的可擴展插件來完成

passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function (err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } if (!user.verifyPassword(password)) { return done(null, false); } return done(null, user); }); } ));

好處

· Node.js身份驗證

· 與OAuth和OpenID集成(Facebook,Twitter等…登錄)


Dotenv

Dotenv是一個零依賴模塊,可將環境變量從.env文件加載到process.env中

將配置與代碼分開存儲在環境中

require(\'dotenv\').config() const db = require(\'db\') db.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS }) // .env file DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3

好處

· 加載環境變量,例如AWS,sql用戶名,部署,連接到其他工具所需的密碼

· 將配置與代碼分開存儲在環境中


multer

Multer是用於處理multipart / form-data的node.js中間件,主要用於上傳文件
var express = require(\'express\') var multer = require(\'multer\') var upload = multer({ dest: \'uploads/\' }) var app = express() app.post(\'/profile\', upload.single(\'avatar\'), function (req, res, next) { // req.file is the `avatar` file  // req.body will hold the text fields, if there were any  }) app.post(\'/photos/upload\',  upload.array(\'photos\', 12), function (req, res, next) {  // req.files is array of `photos` files  // req.body will contain the text fields, if there were any })

好處

· 易於上傳多部分/表單數據文件


axios

基於Promise的HTTP客戶端,用於瀏覽器和node.js
const axios = require(\'axios\'); // Make a request for a user with a given ID axios.get(\'/user?ID=12345\') .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .finally(function () { // always executed });

好處

· 從node.js發出HTTP請求

· 從瀏覽器發出XMLHttpRequests

· 支持Promise API


CORS

CORS是用於提供Connect / Express中間件的node.js程序包,可用於啟用具有各種選項的CORS
var express = require(\'express\') var cors = require(\'cors\') var app = express() app.use(cors()) app.get(\'/products/:id\', function (req, res, next) { res.json({msg: \'This is CORS-enabled for all origins!\'}) }) app.listen(80, function () { console.log(\'CORS-enabled web server listening on port 80\') })

好處

· 輕松處理CORS問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM