node.js初步探究

node.js 探究之路html

一、mac下安裝node.jsnode

(1)、升級系統到最新
(2)、升級xcodegit

xcode-select -p //檢查是否安裝xcode,若是出現路徑,說明已安裝

xcode-select -install //安裝xcode

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  //安裝homebrew,官網:https://brew.sh/index_zh-cn.html

brew install node //使用HomeBrew安裝nodejs

npm intall -g n //安裝n模塊到全局,從而控制node版本

二、node啓一個web服務器github

新建node_test目錄,內部建立server.js文件,寫入一下代碼,
圖片描述
終端執行:web

$ cd node_test/imooc/beginning
$ node server.js

注意: 每次修改 response.end('Hello Worldn') 返回的內容時,都要在終端執行" ctrl+c "中止當前服務,再從新啓動 "node server.js"。npm

三、node模塊系統
在node.js中,文件和模塊是一一對應的。
(1)、模塊流程:
圖片描述
(2)、module.exports和export區別:xcode

module.exports = add;  //特別的對象類型;(推薦使用,支持現有),module.exports最終返回給調用者;

exports.add = add;   //傳統的模塊實例;(exports是輔助方法),exports掛載屬性和方法,而後把屬性賦給module.exports;

四、node API 之 url
(1)、url.parse()
圖片描述
url地址組成:ruby

protocol:指定底層使用協議,http或ftp等
slashes:是否有協議的雙斜線
host:http的IP地址或域名
port:端口
hostname:主機名
hash:哈希值,錨點
search:查詢字符串參數
query:發送給http的數據,參數串
pathname:訪問資源路徑名
path:路徑
href:超連接

URI :Uniform Resource Identifier,統一資源標識符;
URL:Uniform Resource Locator,統一資源定位符;
URN:Uniform Resource Name,統一資源名稱。
其中,URL,URN是URI的子集。服務器

(2)、url.parse(urlString,bool,bool): 將定位符解析成對象,識別無協議的url
第二個參數決定query部分以字符串返回仍是以對象形式返回,默認爲字符串返回即第二個參數默認爲false;
圖片描述curl

以上圖中設置爲 true,看到的query是對象形式。

第三個參數表示在沒有完整協議串的時候(即無http:,https:)的時候‘//’以後的字符如何解釋,若爲false即將‘//’以後的當作路徑解釋,若爲true則會將‘//’與‘/’之間的字符串解釋爲主機
圖片描述

對比上圖中加入第三個參數,發現pathname,paht,host,port,hostname都會不一樣。

(3)、url.resolve(): 將一個基本URL和指定超連接目標URL合併
圖片描述
(4)、url.format(): 將對象解析成定位符(也就是URL)
圖片描述

五、QueryString使用
(1)、querystring.stringify(obj,para1,para2)//將對象轉化成url中query部分的形式(序列化)
參數:1.要轉化的對象 2.參數之間的連接符(默認&)3.鍵與值之間的符號(默認=)

圖片描述

(2)、querystring.parse(string,para1,para2)//將query字符串轉化成對象(反序列化)
參數: 1.query字符串 2.連接符(默認&),若是不是‘&’,須要在參數中說明使用的符號,以下面的‘,’。 3.鍵與值之間的符號(默認=),若是使用的不是‘=’,須要在參數中說明使用的符號,如線面的‘:’。 4.參數的個數(默認最多1000個,0就沒有限制)

圖片描述

(3)、querystring.escape(string)//文字轉譯
(4)、uquerystring.unescape(string)//反轉譯

圖片描述

五、node API 之 path

注意:該方法屬於path模塊,使用前須要引入path模塊(var path= require(「path」) )

path.resolve方法用於將相對路徑轉爲絕對路徑:

path.resolve([from ...], to) //將參數 to 位置的字符解析到一個絕對路徑裏。其中:from 源路徑,to 將被解析到絕對路徑的字符串。

例子:

圖片描述

相關文章
相關標籤/搜索