成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Node.js學(xué)習(xí)——開(kāi)篇

AlexTuan / 763人閱讀

摘要:簡(jiǎn)稱,下同從此有了開(kāi)發(fā)后段應(yīng)用程序的能力。因?yàn)槭褂玫氖钦Z(yǔ)言,所以一發(fā)布以來(lái)就受到了廣大前端開(kāi)發(fā)人員的喜愛(ài)。通過(guò)非阻塞流事件驅(qū)動(dòng)機(jī)制展現(xiàn)了它超強(qiáng)的高并發(fā)能力?,F(xiàn)在我們就開(kāi)始學(xué)習(xí)。

前言:自從下決心轉(zhuǎn)學(xué)前端以來(lái),我的專業(yè)課java基本荒廢了,所以對(duì)于后臺(tái)開(kāi)發(fā)的邏輯也已基本忘干凈了。但是作為一名準(zhǔn)前端程序猿,我認(rèn)為還是有必要了解后端開(kāi)發(fā)的,雖不必深入學(xué)習(xí),但是能夠了解項(xiàng)目從前端到后端的整個(gè)流程,實(shí)現(xiàn)簡(jiǎn)單的業(yè)務(wù)邏輯(增刪改查)應(yīng)該對(duì)我們大有裨益。NodeJS應(yīng)該說(shuō)是前端開(kāi)發(fā)人員涉及后端開(kāi)發(fā)的最佳選擇,因?yàn)槭褂玫氖乔岸撕苁煜さ腏avascript語(yǔ)言。

一、什么是Node.js

Node.js是一個(gè)基于V8引擎的服務(wù)器端Javascript運(yùn)行環(huán)境。Javascript(簡(jiǎn)稱JS,下同)從此有了開(kāi)發(fā)后段應(yīng)用程序的能力。

因?yàn)槭褂玫氖荍S語(yǔ)言,所以一發(fā)布以來(lái)就受到了廣大前端開(kāi)發(fā)人員的喜愛(ài)。很多前端開(kāi)發(fā)人員開(kāi)始涉足后端開(kāi)發(fā),使用Node.js重構(gòu)前端工具。

Node.js通過(guò)非阻塞I/O流、事件驅(qū)動(dòng)機(jī)制展現(xiàn)了它超強(qiáng)的高并發(fā)能力。此外,Node使用的是高性能的V8引擎,提供了很多不同用途的API,采用全新的編譯技術(shù),實(shí)現(xiàn)了一個(gè)高性能的服務(wù)器。

二、Node.js環(huán)境安裝

Node.js的環(huán)境安裝十分簡(jiǎn)單,去官網(wǎng) http://nodejs.org/en/ 下載穩(wěn)定版本安裝包,點(diǎn)擊下一步下一步安裝即可。

完成以后可以打開(kāi)CMD輸入node -v查看是否安裝成功:

C:Usersdawei>node -v
v6.11.1

出現(xiàn)node的版本號(hào)則表示安裝成功。

現(xiàn)在我們就開(kāi)始學(xué)習(xí)Nodejs。Node.js中,將很多功能劃分為一個(gè)個(gè)module(模塊)。Node.js中的很多功能都是通過(guò)模塊來(lái)實(shí)現(xiàn)的。

三、http模塊

HTTP模塊用于創(chuàng)建服務(wù)器,接收和響應(yīng)客戶端的請(qǐng)求。

//1、引入http模塊
var http = require("http");

//創(chuàng)建服務(wù)器
var server = http.createServer(function (req , res) {
    //發(fā)送HTTP頭部
    //HTTP狀態(tài)碼:200:OK
    //設(shè)置HTTP頭部,狀態(tài)碼是200,文件類型是html,字符集是utf-8
    res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
    
    //發(fā)送相應(yīng)數(shù)據(jù)
    res.write("Hello Node.js");
    
    //結(jié)束處理程序,返回?cái)?shù)據(jù)
    res.end();
});

server.listen(8080);      //監(jiān)聽(tīng)端口

//在終端打印如下信息,提示服務(wù)器已啟動(dòng)
console.log("Server running at http://127.0.0.1:8080/");  

這樣我們就完整的創(chuàng)建了一個(gè)web服務(wù)器,可以在瀏覽器通過(guò)http://127.0.0.1:8080訪問(wèn)該服務(wù)器。

回調(diào)函數(shù)中的req對(duì)象包含了客戶端請(qǐng)求的信息,可以使用req.url屬性拿到用戶請(qǐng)求的URL地址,在后期我們就是要通過(guò)不同的URL來(lái)設(shè)計(jì)不同的路由。那么識(shí)別這個(gè)URL,就用到了URL模塊。

四、URL模塊

URL模塊提供了幾個(gè)方法用于操作url。

url.parse(req.url):解析url,將url地址轉(zhuǎn)為url對(duì)象

url.format():將url對(duì)象轉(zhuǎn)為url字符串,是parse方法的逆向操作

url.resolve(from,to) :添加或者替換路由

1、url.parse()

假設(shè)在上面的代碼段中引入了url模塊

url.parse(req.url)

那么將會(huì)打印如下內(nèi)容
{
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: null,
  query: null,
  pathname: "/",
  path: "/",
  href: "/" }
  

由于我們只是訪問(wèn)了根路徑,所以內(nèi)容基本為空,很多情況下我們需要訪問(wèn)詳細(xì)的頁(yè)面并且傳遞參數(shù)
http://127.0.0.1:8080/login.html?uaername=dawei&pass=123

{
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: "?uaername=dawei&pass=123",
  query: "username=dawei&pass=123",
  pathname: "/login.html",
  path: "/login.html?uaername=dawei&pass=123",
  href: "/login.html?uaername=dawei&pass=123" }

可以看到,這個(gè)對(duì)象的query屬性保存了我們的參數(shù),也叫做查詢字符串。pathname屬性中保存了我們的訪問(wèn)路徑。這兩個(gè)屬性很常用。

我們往往需要獲取參數(shù)信息,在服務(wù)器端做進(jìn)一步處理。在JS中我們可以使用字符串截取來(lái)獲取參數(shù),不過(guò)再這里我們可以直接給parse方法傳遞一個(gè)參數(shù)true來(lái)將查詢字符串轉(zhuǎn)為對(duì)象格式,從而很方便的獲取。

url.parse(req.url,true)

{
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: "?username=dawei&pass=123",
  query: { username: "dawei", pass: "123" },
  pathname: "/login.html",
  path: "/login.html?username=dawei&pass=123",
  href: "/login.html?username=dawei&pass=123" }

這樣我們就可以很方便的獲取參數(shù)的值。

2、url.resolve() a、增加路由
var a = url.resolve("http://example.com/", "/one");
console.log(a);     //  http://example.com/one
b、替換路由
var b = url.resolve("http://example.com/one", "/two");
console.log(b);        //   http://example.com/two

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89985.html

相關(guān)文章

  • 前端學(xué)習(xí)開(kāi)篇

    摘要:寫(xiě)在前邊從去年一直陸續(xù)學(xué)習(xí)前端的知識(shí),起初學(xué)習(xí)和寫(xiě)頁(yè)面。自學(xué)前端主要還是有一個(gè)明確的目標(biāo),這樣才能有效的學(xué)習(xí)和容易堅(jiān)持。通過(guò)這次任務(wù)的實(shí)現(xiàn)能夠系統(tǒng)的了解前端的開(kāi)發(fā)流程,以及一些工具的使用。 寫(xiě)在前邊 從去年一直陸續(xù)學(xué)習(xí)前端的知識(shí),起初學(xué)習(xí)HTML和CSS寫(xiě)頁(yè)面。但是覺(jué)得自己對(duì)這方面沒(méi)有太好的天賦,學(xué)著忘著,很是痛苦。在接觸前端過(guò)程中,發(fā)現(xiàn)應(yīng)用javascript實(shí)現(xiàn)一些功能,自己比較...

    kohoh_ 評(píng)論0 收藏0
  • Node.js 高級(jí)進(jìn)階之 fs 文件模塊學(xué)習(xí)

    摘要:回調(diào)函數(shù)提供兩個(gè)參數(shù)和,表示有沒(méi)有錯(cuò)誤發(fā)生,是文件內(nèi)容。文件關(guān)閉第一個(gè)參數(shù)文件時(shí)傳遞的文件描述符第二個(gè)參數(shù)回調(diào)函數(shù)回調(diào)函數(shù)有一個(gè)參數(shù)錯(cuò)誤,關(guān)閉文件后執(zhí)行。 showImg(//img.mukewang.com/5d3f890d0001836113660768.jpg); 人所缺乏的不是才干而是志向,不是成功的能力而是勤勞的意志。 —— 部爾衛(wèi) 文章同步到github博客:https:/...

    verano 評(píng)論0 收藏0
  • 前端周刊第64期:你真的會(huì)提問(wèn)么?

    摘要:但是究竟什么是區(qū)塊鏈呢如何基于區(qū)塊鏈構(gòu)建去中心化的應(yīng)用這個(gè)系列文章很有料,有圖文解釋有代碼實(shí)例,非常適合入門。想知道我接下來(lái)會(huì)寫(xiě)些什么歡迎訂閱我的掘金專欄或知乎專欄前端周刊讓你在前端領(lǐng)域跟上時(shí)代的腳步。 showImg(https://segmentfault.com/img/remote/1460000010417511); 共 2044 字,讀完需 4 分鐘。本期以《提問(wèn)的智慧》作...

    wfc_666 評(píng)論0 收藏0
  • Python 基礎(chǔ)起步(一)寫(xiě)在開(kāi)篇的話,寫(xiě)給同為小白的你

    摘要:一個(gè)小白的成長(zhǎng)日記大家好,這是我在飯否的第一篇筆記,先簡(jiǎn)單介紹一下自己,我于年在北京工業(yè)大學(xué)本科畢業(yè),同年月來(lái)到法國(guó)巴黎工程師學(xué)校讀研,在年月畢業(yè)后加入了法國(guó)興業(yè)銀行擔(dān)任數(shù)據(jù)分析師的職位,主要負(fù)責(zé)數(shù)據(jù)質(zhì)量監(jiān)測(cè),分析,潛在風(fēng)險(xiǎn)預(yù)測(cè),前端可視化 一個(gè)小白的成長(zhǎng)日記 大家好,這是我在飯否的第一篇筆記,先簡(jiǎn)單介紹一下自己,我于2016年在北京工業(yè)大學(xué)本科畢業(yè),同年9月來(lái)到法國(guó)巴黎Efrei工程...

    shadowbook 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書(shū)單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開(kāi)發(fā)指南讀了一半,就是看這本書(shū)理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書(shū)。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來(lái),自己接觸web前端開(kāi)發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過(guò)的,以及道聽(tīng)途說(shuō)的一些書(shū),基本上按照由淺入深來(lái)介紹...

    callmewhy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<