<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Node實踐之二

      先從一個簡單的demo說起,用cmd打開命令提示符,輸入echo Hello,大家是不是看到終端上顯示出了Hello字樣,事實上這就是一個簡單的事件。

      回到正題,相信提到node.js,免不了讓人想起非阻塞、回調、事件循環、并發、網絡編程等。(在此強調一下并發:許多人同時嘗試做同樣的事情),下面將主要介紹一下node.js的特色功能!

      回調

      相信大家到回調應該不陌生,簡單一點的說就是函數可以作為參數傳遞給另外一個函數中,然后被調用。我們來看看node.js是如何使用回調的,用例子說話!(哈哈)

      var fs = require('fs');
      fs.readFile('somefile.txt', 'utf8', function (err, data) {
          if (err) {
              throw err;
          }
          console.log(data);
      });

      回調函數中的第一個參數err,用于保存在讀取文件時返回的錯誤。

      回調函數中的第一個參數err,用于保存讀取文件所返回的數據。

       

      Node.js以提供一個創建聯網應用程序的平臺為目標,回調是Node.js實現網絡編程的關鍵方法,因為回調讓代碼在其事件發生的時候才能運行。基于網絡的I/O是不可預測的,事件驅動編程是處理不可預測性的極佳方式,回調產生是負責解決不可預測性的方法,它也是處理并發的高效方法。

      回調的相關Demo

      1、建立一個app.js,代碼如下

      var http = require('http'),
          urls = ['shapeshed.com', 'www.bbc.co.uk', 'edition.cnn.com'];
      
      function fetchPage(url) {
          var start = new Date();
          http.get({ host: url }, function (res) {
              console.log('Got response from:' + url);
              console.log('Request took:' + (new Date() - start) + 'ms');
          });
      }
      
      for (var i = 0; i < urls.length; i++) {
          fetchPage(urls[i]);
      }

      2、運行 node.app   多執行幾次  仔細看結果 從這個例子中我相信你應該能夠體會基于網絡的I/O是不可預測的,事件驅動編程是處理不可預測性的極佳方式,回調產生是負責解決不可預測性的方法,它也是處理并發的高效方法

      事件循環

      Node.js運行在單一的進程中并且要求開發人員使用異步編碼風格。(同步和異步的概念在此不贅述了)

      網絡經常不是開發人員所能控制的,我們可能要從不屬于我們的遠程服務器獲取代碼并處理,通過使用異步風格可以讓腳本在網絡事件返回時響應。

      事件循環使得系統可以將回調函數先保存起來,而后當事件在將來發生時再運行。

      事件循環的關鍵思想是將代碼圍繞著事件來構架而不是按照期待中的輸入順序來構架,由于事件循環以單一進程為基礎,所以為了確保高性能,需要遵循以下一些規則:

      • 函數必須快速返回
      • 函數不得阻塞
      • 長時間運行的操作必須移到另一個進程中

      HTTP

      網絡編程免不了要了解一下HTTP,事實上它定義了服務器與客戶端在通信時應該如何發送和接收數據。通過使用HTTP模塊的低級應用程序編程接口,Node.js既允許我們創建服務器也允許我們創建客戶端。

      講到http,大家自然而然的會想到URL。看一段代碼。

      var http = require('http'),
          url = require('url');
      
      http.createServer(function (request, response) {
          var pathname = url.parse(request.url).pathname;
          
          if (pathname === '/') {
              response.writeHead(200, { 'Content-Type': 'text/plain' });
              response.end('Home Page !  ');
          } else {
              if (pathname === '/about') {
                  response.writeHead(200, { 'Content-Type': 'text/plain' });
                  response.end('About Us !  ');
              } else {
                  if (pathname === '/redirect') {
                      response.writeHead(301, { 'Location': '/' });
                      response.end();
                  } else {
                      response.writeHead(404, { 'Content-Type': 'text/plain' });
                      response.end('Page not found !  ');
                  }
              }
          }
      
      }).listen(3000, '127.0.0.1');
      
      console.log(' change!');

      運行之后,打開瀏覽器訪問http://127.0.0.1:3000

                  http://127.0.0.1:3000/about

                  http://127.0.0.1:3000/redirect

                  http://127.0.0.1:3000/hello

      看到的結果各不一樣,這就是路由起的效果。

      在大家眼里,似乎HTML客戶端就是瀏覽器,事實上HTML客戶端可以是任何對服務器請求響應的東西。

      看了上面的代碼可能大家會很困惑,我用Node.js需要了解那么多HTTP里面的細節,會不會太麻煩了,下面Express粉墨登場了。

      Express

      簡單一點的一句話介紹Express就是Node.js的一個Web框架。

      使用npm install -g express命令來安裝Express(友情提示:這里使用了-g是因為我們是用的全局安裝)

      創建一個基礎的Express站點

      1、打開終端,輸入express [siteName](注意這里的siteName是你自定義的網站名稱)

      2、cd siteName && npm install

      3、node app

      4、打開web瀏覽器,輸入http://127.0.0.1:3000/

      posted @ 2015-07-17 21:24  靜逸  閱讀(820)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产欧美在线看片一国产| 日本韩无专砖码高清观看| 伊人久久大香线蕉网av| 国产美女被遭强高潮免费一视频| 国产精品毛片一区视频播| 精品精品亚洲高清a毛片| 欧美色aⅴ欧美综合色| 亚洲国产中文在线有精品| 中文字幕av无码不卡| 亚洲欧洲一区二区精品| 亚洲日本va午夜中文字幕久久| 大胸美女吃奶爽死视频| gogogo高清在线播放免费| 国产漂亮白嫩美女在线观看| 国产日韩精品免费二三氏| 兰西县| 亚洲AV日韩精品久久久久| 老少配老妇老熟女中文普通话| 成全影视大全在线观看| 国产一区二区三区国产视频| 亚洲日韩AV秘 无码一区二区| 99精品国产丝袜在线拍国语| 一本无码av中文出轨人妻| 蜜臀av一区二区精品字幕| 国产在线欧美日韩精品一区| 免费观看添你到高潮视频| 蜜臀av一区二区三区日韩| 亚洲av成人一区在线| 四虎永久播放地址免费| 亚洲一级特黄大片在线观看| 在线中文一区字幕对白| 亚洲精品综合网二三区| 精品国产一区二区色老头| 亚洲最大在线精品| 中文国产人精品久久蜜桃| 成av免费大片黄在线观看| 国模肉肉视频一区二区三区| 国产av不卡一区二区| 亚洲综合无码AV在线观看| 免费天堂无码人妻成人av电影| 国产专区一va亚洲v天堂|