1、node概要 |
對nodeJS早有耳聞,可是一直遲遲沒有對它下手,哈哈哈,今兒咱就來初探一下它。node
nodeJS是個啥東東?npm
nodeJS,個人理解就是能夠運行在後端的JavaScript。編程
爲何它可以在後端運行呢?windows
這就得歸功於V8引擎(V8是Google Chrome瀏覽器的JavaScript引擎),經過對高性能V8引擎的封裝,並經過一系列優化的API類庫,使其就可以在後端運行了。後端
而且node有兩大特色:瀏覽器
一、基於事件驅動;服務器
二、無阻塞。併發
從而nodeJS很是適合處理併發請求。ide
你們都知道nodeJS其本質就是JavaScript,so基於事件驅動不難理解,可是無阻塞呢?函數
JavaScript是單線程,因此要作到無阻塞,node是經過大量的回調函數來達到這一目的。
好了,廢話很少說了。接下來我們就開始初步體驗它。
2、Install node&npm |
由於nodeJS是後端運行的JavaScript嘛,so得有個運行環境啊。不過安裝nodeJS的環境比較簡單,具體步驟見下:
一、首先到官網下載nodeJS安裝包。
在官網中,也能看見官方對nodeJS的一個描述:
Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm , is the largest ecosystem of open source libraries in the world.
二、在下載完安裝包後,在windows下按照默認程序走就歐克啦。
三、檢驗是否安裝成功,在Windows環境下,打開命令提示符,輸入node – v,若是正常就會出現版本號的輸出。
以下:
在官方介紹中,不是說到npm(Node.js’ package ecosystem, npm , is the largest ecosystem of open source libraries in the world.)嘛,其實npm在你安裝nodeJS時,就一帶幫你安裝了。
不信,咱就在命令提示符中輸入npm –v看看。
以下:
好了,node開發環境就這麼完美的‘搭建’好了,哈哈,是否是很簡單。
接下來,咱們就開始敲打第一個node程序吧。
3、Get started |
一切從"hello world"開始,畢竟咱們都是有情懷的人。
簡單的嘛,咱們就在命令提示符下,敲打咱們的程序,你只需輸入node,而後回車就能夠進入node在命令提示符下的交互環境了。
以下:
進入node交互環境後,敲到"hello world"字符串後回車。
結果以下:
假若咱們想退出node的這個交互環境,就Ctrl + C,連按兩次就退出回到windows命令符啦。
以下:
若是要在node的這個交互環境下編程的話,太大費周章了,因此,咱們能夠引入js文件來執行,例以下面這樣。
前提:你得有一個js文件。
我將這個js(helloWorld.js)文件放在D盤的,so運行結果以下:
'use strict'
console.log('Hello world');
哈,有點意思哈。
不是說nodeJS是運行在後端的JavaScript嘛。接下來,咱們就用nodeJS來開發一個最簡單的服務器程序。
4、Node for server |
前提:nodeJS是遵循CommonJS規範的。
即,
每一個.js文件都是一個模塊,模塊的好處就是避免命名空間污染。假若你想讓一個模塊對外暴露變量,能夠用module.exports = variable;
而一個模塊想要引用另外一個模塊對外暴露的變量,用require關鍵字就能夠了,如var ref = require(‘module_name’);
好了,簡單的知道了nodeJS的運用規則,那麼咱們想要編寫一個http服務器,就得先引入這個模塊。
以下:
接下來就是調用引入的HTTP模塊的一個工廠模式方法(createServer)來建立一個新的http服務器。
以下:
因爲nodeJS的特性之一是事件驅動,so當咱們訪問一個http服務器時,它會觸發一個request事件,咱們利用其進行相應處理。
例如,咱們的處理方式是,利用writeHead來設置HTTP的響應頭和HTTP正文。
具體代碼以下:
最後,就是想監聽的端口號咯。好比咱們監聽的是80端口。
代碼以及很完美了,但,爲了方便在nodeJS交互環境下運行該js文件後,知道服務器已經啓好了,咱們仍是打印一條日誌吧。
以下:
'use strict' //經過require將http庫包含到程序中 var http = require('http'); //建立新的HTTP服務器 var server = http.createServer(); //經過request事件來響應request請求 server.on('request',function(req, res){ res.writeHead(200, {'Content-Type':'text/plain'}); res.end('Hell World\n'); }); server.listen('80'); console.log('Server running!');
好了,開啓nodeJS交互環境,運行該js文件,個人命名是http.js。
so:
這樣http服務器就啓好了,接下來咱們再打開網頁,輸入127.0.0.1:80,看看效果:
good!!有木有一點小小的激動,這樣就把http服務器啓好並運行起來了。
node的確牛逼,so接下來一塊兒學習吧。
晚安,everyone~