摘要:大家好,本人最近初涉這里分享該內容的入門體驗,這里的內容超級超級基礎。事實上就是另外一種上下文,它允許在后端脫離瀏覽器環(huán)境運行代碼。因此,事實上既是一個運行時環(huán)境,同時又是一個庫。最后,我們調用完成響應。
大家好,本人最近初涉node.js,這里分享該內容的入門體驗,這里的內容超級超級基礎。希望小白能一起來學習,相互探討一下。
這里引用一下<
JavaScript最早是運行在瀏覽器中,然而瀏覽器只是提供了一個上下文,它定義了使用JavaScript可以做什么,但并沒有“說”太多關于JavaScript語言本身可以做什么。事實上,JavaScript是一門“完整”的語言: 它可以使用在不同的上下文中,其能力與其他同類語言相比有過之而無不及。
Node.js事實上就是另外一種上下文,它允許在后端(脫離瀏覽器環(huán)境)運行JavaScript代碼。
要實現(xiàn)在后臺運行JavaScript代碼,代碼需要先被解釋然后正確的執(zhí)行。Node.js的原理正是如此,它使用了Google的V8虛擬機(Google的Chrome瀏覽器使用的JavaScript執(zhí)行環(huán)境),來解釋和執(zhí)行JavaScript代碼。
除此之外,伴隨著Node.js的還有許多有用的模塊,它們可以簡化很多重復的勞作,比如向終端輸出字符串。
因此,Node.js事實上既是一個運行時環(huán)境,同時又是一個庫。
上了這么多課的小伙伴們應該都知道,期末考試要挑重點啊。
其實這里主要講到實現(xiàn)node.js應該怎么做,就是要將代碼解釋成能在后臺運行的相關代碼,然后正確執(zhí)行,這里使用了Google的V8虛擬機來解釋和執(zhí)行JavaScript代碼。JavaScript前后端通吃啊,所以小伙伴們趕緊來學習JavaScript這門編程語言啊。
要使用node.js,首先要安裝相應的環(huán)境,直接進官網(wǎng):https://nodejs.org/zh-cn
廢話少說,我們先來一個簡單的實例
首先呢,新建一個index.js文件,我們寫一個非常簡單的 Hello World 程序:
console.log("Hello, World");
保存,這里我們在控制臺執(zhí)行:
node index.js
輸出結果:
這里Hello, World在控制臺輸出了。接下來是http基礎。
一個基礎的HTTP服務器
話不多說,上代碼,新建一個server.js文件:
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello, World"); response.end(); }).listen(3000);
保存,在控制臺執(zhí)行:
node server.js
然后在chrome地址欄輸入:
localhost:3000
我們可以看到在瀏覽器中依然會出現(xiàn)可愛的Hello, World
是不是覺得很神奇
上面說過,node.js既是一個運行時環(huán)境,同時又是一個庫。
這里的代碼首先就是引入了一個node.js自帶的http模塊,并賦值給http變量。這里呢,使用http調用createServer來創(chuàng)建一個服務器,resquest,response這兩個參數(shù)分別表示請求和響應。
所以我們的代碼是:當收到請求時,使用 response.writeHead() 函數(shù)發(fā)送一個HTTP狀態(tài)200和HTTP頭的內容類型(content-type),使用 response.write() 函數(shù)在HTTP相應主體中發(fā)送文本“Hello World"。
最后,我們調用 response.end() 完成響應。
有的人可能對這樣的代碼有點疑問。我們可以寫成這樣:
var http = require("http"); function onRequest(request, response) { console.log("Request received."); response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello, World"); response.end(); } var server = http.createServer(onRequest); server.listen(3000); console.log("Server has started.");
這里在控制臺執(zhí)行
node server.js
首先會輸出Server has started.表示服務器已開始;然后在地址欄輸入:
localhost:3000
控制臺會輸出Request received.表示請求已被接受,接著是瀏覽器響應需要執(zhí)行的相關操作,同上。整體代碼應該更容易明白,http.createServer(onRequest),創(chuàng)建一個server服務器,
然后使用server.listen(3000)監(jiān)聽3000端口。這樣可以本地訪問localhost:3000。
后續(xù)再更新......
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82201.html
摘要:導語公司最近業(yè)務不忙,利用閑暇時間準備學習一下,看見網(wǎng)上前端大牛張旭鑫的文章一般般的網(wǎng)頁重構可以使用做些什么,跟著寫了一下批量修改文件名的小工具,主要利用的中相關方法來實現(xiàn)記錄一下,以備后用。 導語:公司最近業(yè)務不忙,利用閑暇時間準備學習一下Node.js,看見網(wǎng)上前端大牛張旭鑫的文章JS一般般的網(wǎng)頁重構可以使用Node.js做些什么?,跟著寫了一下批量修改文件名的javascript...
摘要:實現(xiàn)項目的配置初始化,這個有些像我們在寫模塊的時候初始化配置,其實這里也是在初始化項目配置。 引言 首先簡單說一下Ruff,Ruff是一個JavaScript運行時,專門為開發(fā)硬件而設計,其底層實現(xiàn)是基于Node.js,讓我們可以使用JavaScript語言去實現(xiàn)自己想要的硬件功能設計,下面就是從零開始接觸和學習使用Ruff showImg(https://segmentfault.c...
摘要:前言筆者的前端開發(fā)已經(jīng)有些時日了,對于一直保留著最初的恐懼,倘若一座不可跨越的高山,思前想后終于邁出最后一步,踏入了開拓自己視野的新視界,希望在看這篇文章的你可以一起跟我動手嘗試。面向的下一代框架。由團隊打造,特點優(yōu)雅簡潔靈活體積小。 showImg(https://segmentfault.com/img/bVbuorM?w=1514&h=568); 前言 ?????筆者的前端開發(fā)已...
摘要:后來在爬取不到讓我一度懷疑人生的時候巧合下,發(fā)現(xiàn)磁力鏈接有小寫字母,有長度的,有長度的。。 原文博客: 羞羞的node爬蟲 前言 學了一陣子node,除了用 express 寫東西,就沒怎么做過東西突然就想寫個 爬蟲 來玩一玩,而且還是爬一些羞羞的東西 使用模塊 SuperAgent 是個 http 方面的庫,可以發(fā)起 get 或 post 請求。 cheerio 大家可以理解成一個 ...
閱讀 3192·2021-11-23 10:09
閱讀 2057·2021-10-26 09:51
閱讀 975·2021-10-09 09:44
閱讀 3898·2021-10-08 10:04
閱讀 2742·2021-09-22 15:14
閱讀 3619·2021-09-22 15:02
閱讀 1035·2021-08-24 10:03
閱讀 1719·2019-12-27 12:14