模塊名 | 做用 |
express |
web開發的幾大基礎框架之一 |
body-parser | 格式化GRT/POST的參數,原包含在express中,express4.0後獨立出來 |
cookie-parser | 處理cookie,另外一個兄弟爲express-session,兩個原來都包含在express中,express4.0後獨立出來 |
ejs | 模版引擎,另外一個經常使用的模版引擎爲jade |
log4js | 記錄日誌,用過java的人都懂 |
mysql | 鏈接mysql |
mongodb | 鏈接mongodb |
mongoose | 用來管理mongodb |
node-dev | 開發時熱部署,用過java的tomcat熱部署都懂 |
pm2 | node進程管理,node程序永不宕就靠它了 |
開發微信用,你懂的 | |
nodemailer | 用來發郵件 |
MD5 | 用來進行MD5加密 |
request | 用來發送http/https請求 |
async |
用於管理異步處理流程,不然層層嵌套回調煩死你 |
cron |
與linux下的cron同樣設置定時任務用,你懂的 |
later、node-schedule | 比cron功能強大,可是過於強大,通常cron就夠用了 |
pinyin | 把漢字轉爲拼音 |
moment | 格式化Date,先後端都可用 |
underscore | js擴展模塊,封裝好一些高級的方法 |
這三個是作普通web站點的絕配的,express是主框架,其餘幾個都依賴於這個。固然,要是沒有註冊登陸功能通常就用不上session,酌情選擇吧,反正從express中分離出來了。
前端
其實pm2中也有watch,也能夠作熱部署,可是不怎麼好用,因此我選擇開發時使用node-dev,生產時使用pm2保證程序不會宕機。java
用來鏈接數據庫,我目前就用過這兩個數據,其餘數據的鏈接模塊能夠npm上去找。mongoose是一個輔助工具,用來管理mongodb模型模式等,就和java同樣,你總不至於用本身寫jdbc直接操做數據庫吧,我的感受和mybatis同樣的做用。node
這兩個有時是配合使用,記錄日誌用log4js,哈哈,和java的log4j很像吧。當發生崩潰性的錯誤時,能夠在宕機前用nodemailer模塊發送郵件哦~~~mysql
這兩個是我以爲最nice的模塊,request用來發送http/https請求,比node自帶的http模塊好用多了,用於和其餘站點通訊、作爬蟲、對接接口等等。async這個簡直就是node的救星啊,大大的彌補了回調的詬病。也許你見過5層甚至更多層的回調嵌套,到最裏面那層,估計前面的大括號縮進都佔了40個空格了。。。這個可讀性,想一想都抓狂。linux
這三個是作定時任務的,前兩個支持"* * * * * ? *"的cron寫法,後一種是要挨個挨個設置屬性。通常熟悉java和shell的人用cron很順手,基本和linux的cron同樣。later功能過於強大,通常是大材小用。node-schedule合適前端人員用,由於屬性設置和設置Date是同樣的。web
第一個是開發微信用的,第二個是MD5加密用的,第三個是用於把字符串中的中文轉換爲拼音(非中文不轉換,拼音能夠用聲調哦)。sql
用於格式化Date的,node端經過npm moment安裝使用,前端直接下載moment.js引入使用。mongodb