>>>>> nodejs入門

什么是NodeJS?

JS是一種腳本語言,腳本語言的運行,都需要一個解析器,NodeJS則是對于獨立運行JS充當解析器的角色;每個解析器都是一種運行環境,允許JS定義各種數據結構和使用運行環境提供內置對象,運行在NodeJS中的JS的用途是操作磁盤文件或搭建HTTP服務器,NodeJS就相應提供了fs、http等內置對象。---fs:引入文件讀取模塊,http:一種協議

模塊加載---require('模塊')

  • 模塊的使用
  • 一個文件為一個模塊
  • 每個模塊都有自己的作用域
  • 在模塊中,我們用var聲明的變量是當前模塊的全局變量,不是Nodejs中的全局變量
var a=1;
console.log(global.a)//undefined
  • 定義在global上的才是是全局的,我們可以直接調用
global.a=1;
console.log(a);//1
  • require()
  • require()函數的參數是一個路徑,這個路徑可以是相對的,也可以是絕對的
    *注:相對路徑需要加./
require('./serve.js');
require('gulp')//加載nodejs核心模塊--node_module文件下的模塊
  • 文件查找加載方式
  • 首先按照模塊名稱進行查找
  • 如果沒有找到,則加上.js進行查找
  • 如果沒有找到,則加上.json查找
  • 如果沒有找到,則加上.node查找
  • 還沒找到,則報錯
  • 訪問模塊中定義的變量
  • global,不推薦使用
  • 模塊對象module----module對象:保存和提供和當前模塊有關的一些信息
  • module.exports對象
  • module.exports是moudle對象下的字對象,可以通過這個對象對當前模塊的局部變量進行訪問
//模塊文件
var a=1;
module.exports.a=a;//或者寫為:module.exports{a:a}
var m1=require('上面的模塊');
console.log(m1.a);//1
  • 一些全局函數:
  • setTimeout()
  • clearTimeout()
  • setInterval()
  • clearInterval()
  • 、、、

http協議

  • URI和URL
  • URI: 統一資源標識符,是Uniform Resource Identifier 的縮寫,由URL和URN兩個主要子集構成
    1.URL:通過描述資源的位置來描述資源
    2.URN:通過名字來識別資源,和位置無關
  • URL: 統一資源定位符---使用瀏覽器等訪問web頁面的時候需要輸入的網頁地址,是URI的一個子集
  • URI
  • URI是某個協議方案表示的資源的定位標識符,協議方案是指訪問資源所使用的協議類型名稱
  • 協議方案有http、ftp、mailto、file、telnet等
ftp://ftp.is.co.za.rfc/rfc1808.txt
http://samaritan89.github.io/f2e/js/ajax.html
mailto:sunluyong@gmail.com
telnet://192.0.2.16:80
  • URL
  • URL主要由三部分組成:方案(協議)+服務器位置+資源路徑
https://github.com/lulupy/angular-file-upload
  • 通用的URL由九部份組成
<schema>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>

1.schema 協議,通常是http,https
2.user和password現在不常見了,不會在URL明文書寫用戶名和密碼了,都是通過登錄的方式
3.host 主機,可以是ip或者域名
4.port 端口號用來區分主機上的進程,方便找到web服務器,http默認是80,https默認是443
5.path是資源的路徑,也就是存放位置,不一定和物理路徑完全對應,符合web服務器路由約定即可
6.params,在一些協議中需要參數來訪問資源,例如ftp是二進制還是文本傳輸,參數是名值對,用;隔開
7.query:這個是get請求最常用的傳遞參數方式了 ?a=1&b=2&=3
8.hash也成為片段,設計為標識文檔的一部分,很多MVVM框架用作了路由功能

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Node.js是目前非常火熱的技術,但是它的誕生經歷卻很奇特。 眾所周知,在Netscape設計出JavaScri...
    w_zhuan閱讀 3,639評論 2 41
  • 明天是端午啦,其實并不覺得有什么,只是家人朋友的問候短信頻繁發來,讓我不得不提醒自己。嗯,明天是端午了,我他媽要在...
    Echoccc閱讀 153評論 0 0
  • 我有個男同事今四十多了,自詡談過的女朋友數量早已破百,幾乎每個都長得不錯而且對他癡情一片。 因為害怕守著一棵樹過日...
    章非閱讀 1,610評論 1 5
  • 01 ▼ 我的同事小曼清秀嬌俏,長得有點兒像《外科風云》里的陸晨曦,至少迷倒醫院一半以上的單身男醫生,都以為近水樓...
    蘇希西閱讀 1,715評論 7 41