㈠ 深入淺出node.js
我只有這本書,也不錯
㈡ nodejs搭建web伺服器就是這么簡單!
Node.js 是一個基於 Chrome V8 引擎的 javaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。(nodejs官網上的介紹),正如官網上介紹的那樣,nodejs確實很牛!怎麼個牛法?看看下面的代碼就知道了。
//引入http模塊
var http = require("http");
//設置主機名
var hostName = 飗.0.0.1'
//設置埠
var port = 8080;
//創建服務
var server = http.createServer(function(req,res){
res.setHeader('Content-Type','text/plain');
res.end("hello nodejs");
});
server.listen(port,hostName,function(){
console.log(`伺服器運行在http://${hostName}:${port}`);
});
短短幾行代碼就把一個簡單的web伺服器搭建完成了,為了驗證效果,我們在瀏覽器請求,結果如下
運行成功!
到此為止,一個web伺服器就建立成功了! 沒錯就是這么簡單,然後我們就可以寫個html界面愉快的玩耍了,哈哈哈!果斷的寫了一個html頁面來請求一下我們的web伺服器。
代碼簡單,點擊p獲取數據並將伺服器返回的數據展示。好了,我們運行一下demo.html文件,我擦來!居然出現了……
很明顯,通過jquery請求不到數據,這是因為跨域請求的原因。我們的web伺服器並不支持跨域請求,所以報錯了。解決方式:在伺服器的響應頭文件里加上如下代碼:
再次重啟伺服器,運行demo.html,顯示結果很是令人欣喜!
通常請求伺服器都會拼接參數的,最常用的就是get請求,post請求。很明顯,我們現在的代碼還不能支持。express框架很好的封裝了nodejs的http模塊,使我們用起來非常的簡單。
引入express :$ cnpm install express –save
使用方式變化不大,通過express()方法開啟服務,然後在通過get方法來設置匹配參數的路由,通過在回調函數的req中可以獲取請求參數和地址。post請求也是類似,不過有不同的是,post請求在獲取參數的時候要引入body-parser 中間件,用於處理 JSON, Raw, Text 和 URL 編碼的數據。
運行結果:
完整的get以及post請求就是以上了。下一篇文章會結果fs文件模塊介紹http是如何返迴文件的,敬請期待!!
學習從來不是一個人的事情,要有個相互監督的夥伴,想要學習或交流前端問題的小夥伴可以私信「學習」小明加群獲取2019web前端最新入門資料,一起學習,一起成長!
㈢ node.js 入門請推薦本好的入門書籍
我是只看過一本直接深入淺出的,但是對我來說也是最好的一本,沒有之一。因為別的那些那些講實踐的書,經常會因為node或模塊的版本更新而出現樣例跑不通的情況。而對於學習這門技術,我始終認為看清它的真實面目,才是最好的。各種應用技巧,更應該是網上搜索最新的才對。反正我現在對深入淺出愛不惜手了。
其他的入門書籍目前國內現在基本上就以下三本:
一本是 ByVoid的《Node.js開發指南》,好像是最早的中文node書籍,版本可能有點舊了,但據說應該比較適合入門,但是因為我沒有看過,所以不好做推薦,你可以網上查查看。
當然每個人的想法觀點不同,因此適合每個人的入門書也不同,建議你每本都可以試讀下一兩章再做出選擇,這樣更容易找到適合自己的入門書籍。
㈣ nodejs寫服務端怎麼樣
1. 使用nodejs做底層,javascript編寫邏輯代碼能很大程度上提高開發效率。
2. 無需編譯,修改完直版接啟動運行,權非常迅速
3. nodejs大而全的底層庫,以及海量的優秀插件能大大簡化開發流程。
4. 與nosql資料庫完美結合。
5. 可包攬伺服器架構中的方方面面。
6. javascript熱更新非常方便。
缺點:
1. 有句話是這么說的:「動態類型一時爽,代碼重構火葬場。」
2. 好用的IDE比較缺乏。
3. 無法直接進行多線程編程。
個人認為強類型語言更適合做游戲伺服器開發。
㈤ 如何用nodejs搭建web伺服器
使用Node.js搭建Web伺服器是學習Node.js比較全面的入門教程,因為實現Web伺服器需要用到幾個比較重要的模塊:http模塊、文件系統、url解析模塊、路徑解析模塊、以及301重定向技術等,下面我們就一起來學習如何搭建一個簡單的Web伺服器。
作為一個Web伺服器應具備以下幾個功能:
1、能顯示以.html/.htm結尾的Web頁面
2、能直接打開以.js/.css/.json/.text結尾的文件內容
3、顯示圖片資源
4、自動下載以.apk/.docx/.zip結尾的文件
5、形如http://xxx.com/a/b/ , 則查找b目錄下是否有index.html,如果有就顯示,如果沒有就列出該目錄下的所有文件及文件夾,並可以進一步訪問。
6、形如http://xxx.com/a/b, 則作301重定向到http://xxx.com/a/b/ , 這樣可以解決內部資源引用錯位的問題。
引入需要用到的幾個模塊:
創建服務並在指定的埠監聽:
在創建服務的時候需要傳遞一個匿名函數processRequest 對請求進行處理,processRequest接收2個參數,分別是request和response, request對象中包含了請求的所有內容,response是用來設置響應頭以及對客戶端做出響應操作。
請求處理函數中有幾個重點需要說一下:
對於路徑中有中文的,瀏覽器會自動進行編碼(英文不變,中文會變),因此在接收到地址後,需要對地址進行解碼,否則最後得到的路徑和真實路徑不相符,
當訪問路徑不是以具體的文件結尾,並且不是以/結尾,則需要通過重定向加上/,表示當前目錄,否則當前路徑下的靜態資源會找不到
如果訪問路徑是目錄,則列出該目錄下所有文件及文件夾,並可以點擊訪問,為了讓中文目錄能正常顯示,則還要在header中設置charset=utf-8
核心代碼就這么多,大概140行左右,完整的代碼已上傳到github:https://github.com/git-onepixel/Node,
如果要運行demo,打開cmd切換到根目錄,運行node start 即可。
㈥ 深入淺出NODEJS怎麼樣
「這絕對是一本實踐性極強的技術書,不管是否學習過Node,只有你愛好技術,都推薦你閱讀它。」這里的「只有」本應該是「只要」。我想書里不應該不會錯,可能電子稿都沒怎麼校驗吧。~~~什麼,寫個平價還有字數限制