node.js是做什麼的?node.js的10種應用情境介紹

來源:互聯網
上載者:User
本篇文章主要的介紹了關於node.js的定義和說明,還有關於node.js的十種應用情境,讓大家知道node.js能應用在哪些方面,現在我們一起來看這篇文章吧

首先我們要知道node.js是什嗎?

一、Node.js是什麼(其實就是學Web伺服器開發)

1.是一個JS運行時環境(簡單來說就是可以解析、執行js代碼):不是一門語言/庫/架構

(1)Node.js中的JavaScript沒有BOM、DOM,只有EcmaScript(基本文法),因為服務端不操作頁面

(2)在Node這個javascript執行環境中為js提供了一些伺服器層級的操作API(檔案讀寫、構建網路服務、網路通訊、http伺服器等)

2.特性:使用事件驅動、非阻塞IO模型(簡單來講就是非同步)、輕量高效

3.大多數與JS相關的包都放在npm上

例如:有了npm之後,一條命令就可以下在不同的庫/架構(比如jquery),不用再到各個庫/架構的官網上去下載

二、Node.js能做什麼

1.Web伺服器後台(java、php做的node.js都能做)

2.命令列工具

注釋1:任何服務端技術的BS編程模型都是一樣的,和語言無關

注釋2:Node沒有html檔案,只有.js檔案

現在細數node.js的10個應用情境:

1.Web開發:Express + EJS + Mongoose/MySQL

express 是輕量靈活的Nodejs Web應用程式框架,它可以快速地搭建網站。Express架構建立在Nodejs內建的Http模組上,並對Http模組再封裝,從而實際Web請求處理的功能。

ejs是一個嵌入的Javascript模板引擎,通過編譯產生HTML的代碼。

mongoose 是MongoDB的物件模型工具,通過Mongoose架構,可以進行訪問MongoDB的操作。

mysql 是串連MySQL資料庫的通訊API,可以進行訪問MySQL的操作。

通常用Nodejs做Web開發,需要3個架構配合使用,就像Java中的SSH。

2.REST開發:Restify

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

3.Web聊天室(IM):Express + Socket.io

socket.io一個是基於Nodejs架構體系的,支援websocket的協議用於時時通訊的一個軟體包。socket.io 給跨瀏覽器構建即時應用提供了完整的封裝,socket.io完全由javascript實現。

4Web爬蟲:Cheerio/Request

cheerio 是一個為伺服器特別定製的,快速、靈活、封裝jQuery核心功能工具包。Cheerio包括了 jQuery核心的子集,從jQuery庫中去除了所有DOM不一致性和瀏覽器不相容的部分,揭示了它真正優雅的API。Cheerio工作在一個非常簡單,一致的DOM模型之上,解析、操作、渲染都變得難以置信的高效。基礎的端到端的基準測試顯示Cheerio大約比JSDOM快八倍(8x)。Cheerio封裝了@FB55相容的htmlparser,幾乎能夠解析任何的 HTML 和 XML document。

5.Web部落格:Hexo

Hexo 是一個簡單地、輕量地、基於Node的一個靜態部落格架構。通過Hexo我們可以快速建立自己的部落格,僅需要幾條命令就可以完成。

發布時,Hexo可以部署在自己的Node伺服器上面,也可以部署github上面。對於個人使用者來說,部署在github上好處頗多,不僅可以省去伺服器的成本,還可以減少各種系統營運的麻煩事(系統管理、備份、網路)。所以,基於github的個人網站,正在開始流行起來….

6.Web論壇: nodeclub

Node Club 是用 Node.js 和 MongoDB 開發的新型社區軟體,介面優雅,功能豐富,小巧迅速, 已在Node.js 中文技術社區 CNode 得到應用,但你完全可以用它搭建自己的社區。

7.Web投影片:Cleaver

Cleaver 可以產生基於Markdown的簡報。如果你已經有了一個Markdown的文檔,30秒就可以製作成投影片。Cleaver是為Hacker準備的工具。

8.前端包管理平台: bower.js

Bower 是 twitter 推出的一款包管理工具,基於nodejs的模組化思想,把功能分散到各個模組中,讓模組和模組之間存在聯絡,通過 Bower 來管理模組間的這種聯絡。

9.OAuth認證:Passport

Passport項目是一個基於Nodejs的認證中介軟體。Passport目的只是為了“登陸認證”,因此,代碼乾淨,易維護,可以方便地整合到其他的應用中。Web應用一般有2種登陸認證的形式:使用者名稱和密碼認證登陸,OAuth認證登陸。Passport可以根據應用程式的特點,配置不同的認證機制。本文將介紹,使用者名稱和密碼的認證登陸。

10.定時任務工具: later

Later 是一個基於Nodejs的工具庫,用最簡單的方式執行定時任務。Later可以運行在Node和瀏覽器中。

以上就是本篇關於node.js的介紹還有十種應用情境的介紹了。想學node.js方向的同學可以到topic.alibabacloud.comNode.js學習手冊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.