亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nodejs開發中常用的模塊有哪些

發布時間:2021-04-15 11:02:54 來源:億速云 閱讀:250 作者:小新 欄目:web開發

這篇文章主要介紹Nodejs開發中常用的模塊有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

MVC框架 - Express

Express 是輕量靈活的Nodejs Web應用框架,它可以快速地搭建網站。Express框架建立在Nodejs內置的Http模塊上,并對Http模塊再包裝,從而實際Web請求處理的 功能。它支持多種前端模板,如Jade, EJS等。它是T.J大神的作品,不過已經交由其它團隊維護了。【相關推薦:《nodejs 教程》】

Koa是T.J大神的另外一個作品,號稱下一 代NodeJS web框架。使用 koa 編寫 web 應用,通過組合不同的 generator,可以免除重復繁瑣的回調函數嵌套,并極大地提升常用錯誤處理效率。Koa 不在內核方法中綁定任何中間件,它僅僅提供了一個輕量優雅的函數庫,使得編寫 Web 應用變得得心應手。需要注意的是:koa 依賴支持 generator 的 Node 環境,準確來說,是 node >= 0.11.9 的環境。安裝完成后,應確保使用 $ node app.js --harmony 或(--harmony-generators) 即,harmony 模式運行程序。個人覺得如果是正式產品中還是用Express比較靠譜。

Rest開發 - Restify

restify 是一個基于Nodejs的REST應用框架,支持服務器端和客戶端。restify比起express更專注于REST服務,去掉了express中的 template, render等功能,同時強化了REST協議使用,版本化支持,HTTP的異常處理。

hapi是一個用來構建基于 Node.js 的應用和服務的富框架,使得開發者把重點放在便攜可重用的應用邏輯而不是構建架構。內建輸入驗證、緩存、認證和其他 Web 應用開發常用的功能,用來開發rest代碼也是一個不錯的選擇。

前端模板 - EJS

EJS是一個功能強大又比較容易使用的前端模板,Express對EJS支持比較好,它的語法比較接近前端開發人員的使用方式。另外名氣比較大的前端模板是Jade,它和Express是同一個作者開發的,Express默認用的就是Jade模板,但是它的語法更接近后端語言的語法,前端開發人員很多時候難以適應,但是它的功能確實非常強大。

數據庫驅動 - Mongoose

MongoDB和NodeJS應該是最佳搭檔了,而Mongoose是MongoDB的對象模型工具,通過Mongoose框架,可以進行非常方便的訪問MongoDB的操作。當然如果你對性能要求非常高的話,也可以考慮使用mongodb,它功能相對較少,比較底層一些,其實Mongoose就是基于它構建的。

其它:redismysql

Web Socket - Socket.IO

NodeJS的一個主要優點是高并發,因此NodeJS是Web Socket服務器的理想選擇,而Socket.IO則Socket模塊的不二選擇,可以用于構建聊天室、客服系統等。Socket.IO不僅提供了服務 器端代碼,還提供了前端JS代碼,可以非常方便的進行Web Socket開發,同時它兼容那些不支持Web Socket的瀏覽器。

日志管理 - Log4js

類似于JAVA中的log4j,具有coloured console logging、可以設置輸出等級等功能,簡單易用,如果沒有復雜需求足夠使用了。winston是一個功能更強大也更復雜的日志模塊,人氣比較高,對功能有追求的可以看看這個模塊。

HTTP調用 Request

可以理解為一個簡化的CURL模塊,建立各種HTTP請求,支持授權驗證,其實功能還是非常多的,基本滿足絕大部分需求。目前在NPM模塊排行前幾名。

異步流程控制 - Async

NodeJS中大量的異步callback嵌套估計讓很多人頭疼,尤其是多個異步函數要求一定的調用順序時更是讓代碼失控,Async可以非常好的解決這些問題,它可以使異步流程同步化。Q是另外一種非常不錯的選擇,它是實現了promises接口。

部署 - forever

forever可以看做是一個nodejs的守護進程,能夠啟動,停止,重啟我們的app應用,運行穩定,支持高并發,啟動/停止命令簡單,支持熱部署,宕機重啟,監控界面和日志,集群環境。pm2是一個帶有負載均衡功能的Node應用的進程管理器。當你要把你的獨立代碼利用全部的服務器上的所有CPU,并保證進程永遠都活著,0秒的重載。

如果你想要從操作系統的層次來解決NodeJS服務器管理問題,可以參考:Linux系統服務upstart

當然開發時可以使用supervisor啟動服務,它能夠監控文件,當有文件更新時自動重啟服務,其實Forever也有這個功能。

項目管理

grunt是一個自動化的構建工具,對于 需要反復重復的任務,例如壓縮(minification)、編譯、單元測試、linting等,自動化工具可以減輕你的勞動,簡化你的工作。當你正確配 置好了任務,任務運行器就會自動幫你或你的小組完成大部分無聊的工作。并且它有大量的插件可以使用。我主要用它作前端的自動化處理工作。

bower是twitter的又一個開源項目,使用nodejs開發,用于web包管理。作為一個js依賴管理的工具,提供一種理想包管理方式,借助了npm的一些思想,為我們提供一個舒服的開發環境。

yeoman是Google的團隊和外部貢獻 者團隊合作開發的,他的目標是通過Grunt(一個用于開發任務自動化的命令行工具)和Bower(一個HTML、CSS、Javascript和圖片等 前端資源的包管理器)的包裝為開發者創建一個易用的工作流。Yeoman的目的不僅是要為新項目建立工作流,同時還是為了解決前端開發所面臨的諸多嚴重問 題,例如零散的依賴關系。

定時任務 - Cron

cron是一個小巧的定時任務管理模塊,可以滿足我們絕大部分需求,它支持標準的cron patterns,熟悉linux cron tab的語法就可以很容易上手。

另外一個名氣比較大且功能比較強大的定時模塊是Later,對于功能要求比較高的可用用它,later的缺點是有點復雜,不像cron只要拿來就會用了。

工具包

underscore是一個JS工具庫,主要提供了對數組,對象,函數等一些基礎工具函數,可以同時在瀏覽器和NodeJS環境中運行。建議在每個項目中使用。

moment是一個日期工具庫,主要提供了對日期的解析,驗證,操作和格式化等,如果需要對日期作較多的操作或比較復雜的操作,則它是一個不錯的選擇,畢竟JS自帶的Date功能太弱了。

Connect是一系列的中間件的集合,包括日志,session, cookie, body parser等,它做了大量HTTP相關的基礎性的工作,Express框架就依賴它進行工作的。

單元測試

Mocha,Karma,Jasmine。

以上是“Nodejs開發中常用的模塊有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潼关县| 安阳县| 孟州市| 东丽区| 汕头市| 勐海县| 仪征市| 九龙城区| 通州区| 平陆县| 海阳市| 南宁市| 平谷区| 政和县| 武城县| 溆浦县| 武穴市| 烟台市| 蒙城县| 宣汉县| 娱乐| 隆安县| 忻城县| 同德县| 大理市| 盐边县| 大同县| 财经| 修文县| 台中县| 焦作市| 偃师市| 绩溪县| 承德县| 海安县| 剑川县| 寿光市| 巍山| 乾安县| 邳州市| 柳河县|