趁熱打鐵學node

前言javascript

  1. 不廢話直接官網下載安裝
  2. windows安裝很簡單,雙擊ok. 完成後命令行輸入node -v. 會提示版本號,說明安裝成功(Node.js 還自動附帶安裝了 npm,相似ruby的gem)。
  3. linux安裝。對於linux我是菜鳥,而且安裝要麻煩一些,俺廢了一天的勁終於在centos下安裝完成。後來一問才知道人家大神都是直接命令行的那種系統,瞬時崩潰了。 大概總結下來就是:注意python的編譯環境,時刻注意本身的權限夠不夠。

      4. sublime text  一個灰常不錯的編輯器.   使用入門
html

       

開始幹活java

       1. 來個helloworld      node

           建立test.js   輸入:console.log('hello world');  python

           打開命令行到你的當前目錄(test.js所在目錄),執行  node  test.js   回車。jquery

           以下圖所示  linux

       

 

 

        2.  $ node -e "console.log('Hello World');"c++

 

             Hello Worldgit

 

        3.   $ nodegithub

 

            >console.log('hello world');

 

            Hello World

 

            undefind

 

            須要注意的地方:第一句話是打印的結果,第二句話是說函數返回值。

 

        4.  建立httprequest如此簡單   

            a. 新建test1.js.  拷貝如圖代碼, node test1.js.    

            b. 打開瀏覽器,輸入   http://localhost:3000/  能夠看到效果。web版hello world.

 

                                                

var http = require('http');

http.createServer(function(req,res){
  
  res.writeHead(200,{'content-type':'text/html'});
  res.write('<h1>Node.js</h1>');
  res.end('<p>hello world</p>');
}).listen(3000);


console.log('http server is listening at port 3000');

 

              這個模塊中第一句話 require('http').  是應用node.js中的http模塊。 凡是node.js提供的模塊都可以直接require. 

        

 

        5. 經過上面運行,能夠看到和asp.net 有一些不一樣。 asp.net 是經過瀏覽器發出請求->IIS->解析渲染成html返回。 而node則直接面向瀏覽器。

 

總結

         1. node.js不是javascript庫,和jquery、extjs不能相提並論。node.js是讓腳步運行在服務端的平臺.

       2.  npm是node.js包管理器,能夠全局安裝,也能夠只安裝到工做目錄。重複利用的通常選擇全局安裝,而本地安裝則通常是當前程序使用。

       3.  在windows下安裝,會在自動配置環境變量。因此能夠直接輸入node命令。

       4.  第三方包夠不夠多:

                    (npm)Total Packages: 49 639

 

               node.js夠不夠活躍

1 154 560 downloads in the last day
29 060 396 downloads in the last week

 

 

        5. node.js架構:  說實在的這張圖我看到node下層接口,在向下就看不懂了,V8我還知道一些,google瀏覽器就是基於v8引擎開發,而javascritp在google運行良好,因此我也更好的理解了node.js。

                                        來自Node.js開發指南

 

           5. 事件驅動,異步:

               a. nodejs內部是單進程,單線程的方式運行。nodejs經過單線程維護一個事件循環隊列來應對http併發的訪問,同時也避免了進程/線程之間的切換。那麼對將來服務器的多核時代、甚至是衆核nodejs是怎麼處理的。個人理解是nodejs調用C++代碼,c++代碼實現多線程,這樣暴露api供nodejs使用者調用,實現充分利用cpu。後來看到文章(nodejs多線程,真正的非阻塞),更堅決了學習node的信心。

               b. 放眼望去全是callback.   同步和異步就是 m+n  和  max(m,n)。這樣node.js開發就要求咱們轉換開發思路。

           6. 爲何要趁熱,看不少資料發現都調試不過,我就各類查詢也瞭解了不少知識,才能夠調試經過。

           7.  node擅長幹什麼,不擅長幹什麼?

               nodejs爲網絡而生,剩下的就不用說了。

               nodejs不適合作什麼? (如下內容來自nodejs開發指南)

               a. 計算密集型的程序

               b. 單用戶多任務型應用

               c. 邏輯十分複雜的事務

               d. unicode與國際化

            8. 有問題仍是去 stackoverflow 

            9. 中文資料彙總

 

參考資料:

            深刻淺出node.js

            node.js學習指南

下一站:

             使用express建立一個網站,數據庫使用mongodb.

             模板使用ejs. 

相關文章
相關標籤/搜索