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

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

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

      Node.js學習筆記

      相關介紹

      1、Node.js或者Node,是一個可以讓javascript運行在服務器端的平臺。

      2、Node.js是一個為實時Web應用開發而誕生的語言,它從誕生之初就充分考慮了再實時響應、超大規模數據要求下的可擴展性。這使得它摒棄了傳統平臺依靠多線程來實現高并發的設計思路,而是采用了單線程、異步式IO、事件驅動式的程序設計模型。

      3、Node.js采用現在應用于chrome的Javascript引擎V8。V8號稱目前世界上最快的Javascript引擎。

      4、Node.js遵循CommonJs規范,但是也并不完全遵循。

      Hello World

      var http = require('http');
          http.createServer(function (req, res) {
          res.writeHead(200, {'Content-Type': 'text/plain'});
          res.end('Hello World\n');
      }).listen(1337, '127.0.0.1');

      Node包管理器(npm)

      npm是一個由Node.js官方提供的第三方包管理工具,就像PHP的Pear、Python的PyPI一樣。npm是一個完全由javascript實現的命令行工具,通過Node.js執行,因此嚴格來說它并屬于Node.js的一部分。

      一些概念

      1、REPL

      在命令行使用node不加參數則會進入node的REPL(read-eval-print loop:輸入-求值-輸出循環)模式,就像chrome的console,你可以在其中輸入javascript代碼,然后立即求值

      2、使用supervisor

      supervisor可以幫助你件事對代碼的改動,然后重新啟動Node.js,在開發中調試時很方便

      npm install -g supervisor

      3、模塊和包

      模塊的包的概念是參照了CommonJs的標準,Node.js中一個文件就是一個模塊,可以使用require接口獲取一個模塊,并且是單次加載

      4、模塊的類型

      模塊分為兩大類型,即核心模塊和文件模塊,核心模塊就是Node官方提供的API模塊,已經編譯成了二進制文件,可以使用require直接調用,而文件模塊就是存儲為文件的模塊,可以是js,json或者C++文件。

      文件模塊的加載有兩種方式,一種是require的參數以"/","./","../"開頭的路徑形式,則使用按路徑加載,按照參數值使用絕對或相對路徑方式找到對應文件并加載。另外一種是通過查找node_moudles文件加載,如果require的參數并非路徑的形式,那么包管理器會從當前目錄的node_modules目錄開始查找,找不到則查找上一級目錄

      5、本地模式和全局模式

      使用npm安裝包的時候會有本地模式和全局模式兩種情況。
      a)默認的npm install就是本地模式,即把包安裝到當前目錄的node_modules子目錄下面。在使用require加載模塊是會嘗試搜索node_modules子目錄,因此本地模式安裝的包可以被直接引用
      b)全局模式:在安裝包時使用參數-g就是采用的全局模式

      npm install -g package_name

      使用全局模式安裝時會注冊PATH環境變量,可以在命令行中調用,因此使用全局模式安裝包是為了在命令行中調用相關功能

      6、包的發布

      npm有一套以CommonJs為基礎的包規范(這里是指對目錄結構標準的定義),在目錄中使用npm init,然后填寫一些交互式問題就可以產生一個符合標準的package.json,然后再使用npm publish就可以將包發布到官網了

      核心模塊

      1、全局對象

      global是Node.js中的全局對象(即宿主對象),類似于瀏覽器中的window

      2、全局變量

      全局對象的屬性,其一在所有包中直接調用(如process、console)

      3、幾個重要模塊

      a)常用工具util

      xxx

      b)事件驅動events

      events是node中最重要的模塊,因為node的架構就是基于事件的,events模塊不僅用于用戶代碼與Node下層事件循環的交互,還幾乎被所有的模塊依賴。
      events模塊只提供一個對象events.EventEmitter,核心就是事件發射與事件監聽功能的封裝,例如:

      var events = require("events");
      var emitter = new events.EventEmitter();
      //添加事件監聽
      emitter.on("someEvent",function(arg1,arg2){
          console.log("xxx");    
      });
      //觸發事件
      imitter.emit("someEvent","arg1","arg2");

      c)文件系統fs

      提供對操作系統文件的讀取、寫入、改名、刪除、遍歷目錄等功能的封裝。并且fs模塊中的操作都提供了同步和一部兩個版本

      fs.readFile
      fs.open
      fs.read

      d)HTTP服務器

      Node.js標準庫提供了http模塊,其中封裝了一個高效的HTTP服務器和一個簡易的客戶端。http.Server是http模塊中的HTTP服務器對象,node的所有基于HTTP協議的系統都是基于它來實現的,Hello World中就實現了一個簡易的服務器。

      Node不適用的場景

      1、計算密集型的程序

      2、單用戶多任務型應用

      3、邏輯十分復雜的事務

      Node.js更善于處理那些邏輯簡單但訪問頻繁的任務。

      posted @ 2013-08-30 10:19  逆風之羽  閱讀(454)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本福利一区二区精品| 日韩高清不卡一区二区三区| 久久精品国产亚洲精品| 久久久久人妻精品一区二区三区| 色综合视频一区二区三区| 亚洲肥熟女一区二区三区| 偷偷做久久久久免费网站| 国产成人午夜福利精品| 日韩精品国产中文字幕| 亚洲欧美中文日韩V在线观看| 国产漂亮白嫩美女在线观看| 亚洲av第一区二区三区| 蜜臀av久久国产午夜| 亚洲精品乱码久久久久久| 亚洲国产欧美在线人成AAAA| 国产精品麻豆成人av网| 久热这里只有精品6| 最近中文字幕完整版2019| 少妇撒尿一区二区在线视频| 日韩有码中文字幕国产| 极品人妻少妇一区二区三区| 亚洲av噜噜一区二区| 国产精品高清一区二区三区| 色噜噜一区二区三区| 国产精品一区二区国产馆| 国产午夜福利小视频合集| 北票市| 日韩av在线不卡一区二区| 国产免费午夜福利757| 免费大片av手机看片高清| 国产高清精品在线一区二区| 日韩乱码人妻无码中文字幕视频 | av永久免费网站在线观看| caoporn成人免费公开| 日本免费视频| 精品不卡一区二区三区| 色av专区无码影音先锋| 久久亚洲中文字幕伊人久久大 | 又爽又黄又无遮挡的视频| 亚洲人妻中文字幕一区| 亚洲欧洲一区二区天堂久久|