強(qiáng)大npm下的實(shí)用庫(持續(xù)更新)

request 簡化的HTTP請(qǐng)求的客戶端(star:16074)
request被設(shè)計(jì)成可以進(jìn)行http調(diào)用的最簡單的方法县好。它支持HTTPS差凹,并在默認(rèn)情況下重定向境氢。

//基本寫法枉氮,支持promise
request
  .get('http://google.com/img.png')
  .on('response', function(response) {
    console.log(response.statusCode) // 200
    console.log(response.headers['content-type']) // 'image/png'
  })
  .pipe(request.put('http://mysite.com/img.png'))

cheerio 是nodejs的抓取、解析HTML頁面模塊抬旺,為服務(wù)器特別定制的弊予,快速、靈活开财、實(shí)施的jQuery核心實(shí)現(xiàn)汉柒。適合各種Web爬蟲程序误褪。(star:12684)

const cheerio = require('cheerio')
const $ = cheerio.load('<h2 class="title">Hello world</h2>')

$('h2.title').text('Hello there!')
$('h2').addClass('welcome')

$.html()
//=> <h2 class="title welcome">Hello there!</h2>

axios基于Promise 的 HTTP 請(qǐng)求客戶端,可同時(shí)在瀏覽器和 node.js 中使用。(star:22700)

// Make a request for a user with a given ID
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (response) {
    console.log(response);
  });


fetch一個(gè)兼容window.fetch特性的polyfill

fetch函數(shù)是一個(gè)基于promise的用于替代傳統(tǒng)瀏覽器XMLHttpRequest的替代方案(star:14917)

//Usage
fetch('/users.json')
  .then(function(response) {
    return response.json()
  }).then(function(json) {
    console.log('parsed json', json)
  }).catch(function(ex) {
    console.log('parsing failed', ex)
  })

jsdom Nodejs抓取碾褂、解析HTML網(wǎng)頁模塊 jsdom(star:7904)

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
console.log(dom.window.document.querySelector("p").textContent); // "Hello world"

nodemeiler是一個(gè)用于Node.js應(yīng)用郵件發(fā)送模塊兽间。(star:7966)

'use strict';
const nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
    host: 'smtp.example.com',
    port: 465,
    secure: true, // secure:true for port 465, secure:false for port 587
    auth: {
        user: 'username@example.com',
        pass: 'userpass'
    }
});

// setup email data with unicode symbols
let mailOptions = {
    from: '"Fred Foo " <foo@blurdybloop.com>', // sender address
    to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
    subject: 'Hello ?', // Subject line
    text: 'Hello world ?', // plain text body
    html: '<b>Hello world ?</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Message %s sent: %s', info.messageId, info.response);
});

node-schedule是一個(gè)基于時(shí)間的任務(wù)調(diào)度器,而不是基于交互正塌,可用來定時(shí)執(zhí)行一個(gè)爬蟲(star:3672)


node-cron一個(gè)基于node的簡單定時(shí)作業(yè)調(diào)度器(star:381)

Paste_Image.png

http-server一個(gè)簡單零配置命令行搭建http服務(wù)器的工具(star:5226)

 npm install http-server -g
 http-server [path] [options]

electron使用javascript嘀略、css、html搭建跨平臺(tái)桌面應(yīng)用的開源框架乓诽,強(qiáng)悍至極V难颉(star:47729)

# Install as a development dependency
npm install electron --save-dev

# Install the `electron` command globally in your $PATH
npm install electron -g


# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Run the app
npm start

node-lru-cache基于node的使用最近最少使用算法的策略進(jìn)行數(shù)據(jù)緩存庫(star:1416)

npm install lru-cache --save

var LRU = require("lru-cache")
  , options = { max: 500
              , length: function (n, key) { return n * 2 + key.length }
              , dispose: function (key, n) { n.close() }
              , maxAge: 1000 * 60 * 60 }
  , cache = LRU(options)
  , otherCache = LRU(50) // sets just the max size

cache.set("key", "value")
cache.get("key") // "value"

// non-string keys ARE fully supported
var someObject = {}
cache.set(someObject, 'a value')
cache.set('[object Object]', 'a different value')
assert.equal(cache.get(someObject), 'a value')

cache.reset()    // empty the cache

es6-promise讓es6 promise能兼容更多瀏覽器,一個(gè)polyfill庫(star:4677)

npm install es6-promise

var Promise = require('es6-promise').Promise;

Numeral-js用于格式化和操作數(shù)字的JavaScript庫(star:5214)


nprogress非常漂亮鸠天、輕量的頁面加載進(jìn)度條效果


node_redis基于node的redis內(nèi)存數(shù)據(jù)庫讼育,其中一個(gè)策略可用于替代上面的lru cache庫(star:8000)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市粮宛,隨后出現(xiàn)的幾起案子窥淆,更是在濱河造成了極大的恐慌卖宠,老刑警劉巖巍杈,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扛伍,居然都是意外死亡筷畦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門刺洒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鳖宾,“玉大人,你說我怎么就攤上這事逆航《ξ模” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵因俐,是天一觀的道長拇惋。 經(jīng)常有香客問我,道長抹剩,這世上最難降的妖魔是什么撑帖? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮澳眷,結(jié)果婚禮上胡嘿,老公的妹妹穿的比我還像新娘。我一直安慰自己钳踊,他們只是感情好衷敌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布勿侯。 她就那樣靜靜地躺著,像睡著了一般缴罗。 火紅的嫁衣襯著肌膚如雪罐监。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天瞒爬,我揣著相機(jī)與錄音弓柱,去河邊找鬼。 笑死侧但,一個(gè)胖子當(dāng)著我的面吹牛矢空,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播禀横,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼屁药,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了柏锄?” 一聲冷哼從身側(cè)響起酿箭,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎趾娃,沒想到半個(gè)月后缭嫡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抬闷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年妇蛀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笤成。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡评架,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炕泳,到底是詐尸還是另有隱情纵诞,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布培遵,位于F島的核電站浙芙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏荤懂。R本人自食惡果不足惜茁裙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望节仿。 院中可真熱鬧晤锥,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至壕翩,卻和暖如春蛉迹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背放妈。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工北救, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芜抒。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓珍策,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宅倒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子攘宙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,319評(píng)論 7 249
  • 有親密的朋友告訴我线召,你的蒙娜麗莎笑讓人瘆得慌铺韧。 我的笑,給我精心準(zhǔn)備的演出拉出一根臭烘烘的粑粑灶搜。 我是一個(gè)殼子祟蚀,從...
    蘭嵐Lillian閱讀 260評(píng)論 0 0
  • 殘酷的現(xiàn)實(shí)總會(huì)打擊個(gè)人的理想工窍,現(xiàn)在的中國處于經(jīng)濟(jì)變革的大時(shí)代割卖,如今社會(huì)即將階級(jí)固化;個(gè)人不過是時(shí)代長河中的一個(gè)水分...
    希夷子閱讀 244評(píng)論 0 1
  • 文/小殘夜半涼 你是我心底藍(lán)色的沙漠 我卻是你眼里荒蕪的灰海患雏。 你總幻想著成為我的貝殼 我卻不是那顆沙礫鹏溯。 于是我...
    騎馬上岸的人閱讀 203評(píng)論 5 11
  • 20170709 陣雨 今天聽了老師的課真正體會(huì)到了營銷的魅力,原來每個(gè)步奏都是有方法的淹仑,回想之前跟客戶溝通的過程...
    璞玉_e048閱讀 198評(píng)論 0 0