下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
?瀏覽器和Node.js都使用JavaScript軟件語(yǔ)言-但字面上的運(yùn)行時(shí)環(huán)境是不同的。Node.js(又名服務(wù)器端JavaScript)與客戶(hù)端JavaScript有許多相似之處。它也有很多差異。盡管兩者都使用JavaScript作為軟件語(yǔ)言,但我們可以重點(diǎn)關(guān)注一些關(guān)鍵差異,這些差異使兩者之間的軟件開(kāi)發(fā)體驗(yàn)截然不同。在今天的文章中,我們將深入探討Node.js(又名服務(wù)器端JavaScript)與瀏覽器(又名客戶(hù)端JavaScript)的區(qū)別。從前端開(kāi)發(fā)人員的角度來(lái)看,node.js具有巨大的優(yōu)勢(shì)。Node.js憑借熟悉和舒適的力量,允許開(kāi)發(fā)人員使用他們已經(jīng)熟悉的JavaScript軟件語(yǔ)言創(chuàng)建全棧應(yīng)用程序。這是巨大的。通過(guò)在堆棧的兩端使用相同的語(yǔ)言,您可以深入學(xué)習(xí)JavaScript并堅(jiān)持變得越來(lái)越好,而無(wú)需在語(yǔ)言之間切換,也無(wú)需將學(xué)習(xí)資源劃分為兩種或多種語(yǔ)言(除了軟件開(kāi)發(fā)所需的其他一切之外)你來(lái)學(xué)習(xí)?!拔覀冸p方都使用JavaScript,那么有什么變化呢?”Node.js和瀏覽器端JavaScript之間的變化在于生態(tài)系統(tǒng)。例如,在瀏覽器中您...與DOM(文檔對(duì)象模塊)交互利用Web平臺(tái)API(例如:Cookie)當(dāng)然,這些示例實(shí)際上并不存在于Node中。DOM是一個(gè)表示層-它是一個(gè)文檔對(duì)象模塊,其很大程度上受到通過(guò)瀏覽器的功能為Web創(chuàng)建可視化用戶(hù)界面層的需求的啟發(fā)。Node.js是服務(wù)器端,我們沒(méi)有DOM,也不需要Cookie。Cookie主要用于跟蹤用戶(hù)或保存用戶(hù)信息-我們位于服務(wù)器端,可以直接訪問(wèn)數(shù)據(jù)庫(kù)或存儲(chǔ)資源,并使用Node.js來(lái)控制支持網(wǎng)站的服務(wù)器本身-這是而不是交互用于與前端網(wǎng)站服務(wù)器通信的瀏覽器。在瀏覽器中,JavaScript將無(wú)法訪問(wèn)節(jié)點(diǎn)擁有的幾個(gè)干凈的API/模塊。例如,在節(jié)點(diǎn)中,您...能夠交互并訪問(wèn)文件系統(tǒng)(fs)另一個(gè)巨大的區(qū)別是Node.js允許您控制環(huán)境本身。除非您正在構(gòu)建一個(gè)任何人都可以在其上構(gòu)建并部署在任何地方的開(kāi)源應(yīng)用程序,否則您知道將在哪個(gè)版本的Node.js上運(yùn)行您的應(yīng)用程序。這與瀏覽器相比,其中環(huán)境基于瀏覽器版本。您無(wú)法定義訪問(wèn)者將在前端使用的環(huán)境。在后端,您可以這樣做,這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)非常方便。這意味著您可以使用您的Node版本支持的所有現(xiàn)代ES6-7-8-9等JavaScript編寫(xiě)。JavaScript的進(jìn)步速度與任何其他軟件語(yǔ)言一樣快-瀏覽器似乎總是有點(diǎn)落后于JS曲線(至少有一些瀏覽器是這樣,所以你必須等待一段時(shí)間才能使用最新的JavaScript版本支持您的應(yīng)用程序在前端瀏覽器之間的兼容性,以支持所有訪問(wèn)者及其對(duì)您的軟件的體驗(yàn))。由于JavaScript的發(fā)展速度如此之快,但瀏覽器的升級(jí)速度可能有點(diǎn)慢,有時(shí)在網(wǎng)絡(luò)上您只能使用較舊的JavaScript/ECMAScript版本。在瀏覽器方面,您可以做一些額外的工作來(lái)緩解這種“瀏覽器總是有點(diǎn)落后”的問(wèn)題,方法是在將代碼發(fā)送到瀏覽器之前使用Babel將代碼轉(zhuǎn)換為ES5兼容。這需要您安裝webpack,確保使用正確的轉(zhuǎn)譯器,并設(shè)置正確的配置,以最終將現(xiàn)代JavaScript簡(jiǎn)化為舊版本的JavaScript,以便所有瀏覽器都可以使用它。在node.js方面,您不必這樣做。你不需要這樣做。另一個(gè)區(qū)別是Node.js使用CommonJS模塊系統(tǒng),而在瀏覽器中我們開(kāi)始看到正在實(shí)現(xiàn)的ES模塊標(biāo)準(zhǔn)。實(shí)際上,這意味著您可能需要在瀏覽器中require()使用時(shí)在Node中使用import-但這看起來(lái)將來(lái)會(huì)發(fā)生變化/標(biāo)準(zhǔn)化。什么是Node.jsNode.js是一個(gè)基于chrome的JavaScript引擎(稱(chēng)為V8)的JS運(yùn)行時(shí)。簡(jiǎn)單來(lái)說(shuō),從chrome中提取了V8JS引擎,并使用它開(kāi)發(fā)了一種可以獨(dú)立運(yùn)行的新技術(shù)。當(dāng)然,類(lèi)似的事情還有很多內(nèi)容。如前所述,這不是DOM,沒(méi)有用戶(hù)界面,并且存在運(yùn)行時(shí)差異。安裝Node.js與瀏覽器JS與Python或PHP一樣,您實(shí)際上必須安裝Node.js才能使其在您的計(jì)算機(jī)上正常工作。你可以在\o"這里"這里安裝node.js。所有主要操作系統(tǒng)(Windows、Mac、Ubuntu等)都支持Node.js。另一方面,您有瀏覽器。將JavaScript安裝到瀏覽器中是什么樣子?答案是它看起來(lái)不像什么。瀏覽器負(fù)責(zé)使用、解釋和運(yùn)行JavaScript——您無(wú)需安裝它,它是瀏覽器自帶的。運(yùn)行Node.js與瀏覽器JavaScript安裝后(如PHP、Python或任何其他服務(wù)器端語(yǔ)言),node.js可以直接通過(guò)命令行或終端運(yùn)行。node{file_path.js}您可以通過(guò)終端或命令行執(zhí)行來(lái)調(diào)用JavaScript文件。這就像您從終端運(yùn)行PHP或Python一樣。您可以使用調(diào)用該文件node{file_path.js},或者只需鍵入node并進(jìn)入交互式REPL.cmd>node./test.jscmd>"helloworld"cmd>cmd>nodenode>console.log('helloworld')node>"helloworld"node>.exitcmd>在瀏覽器端,這種直接執(zhí)行JavaScript文件和/或終端REPL環(huán)境的方式不起作用。您擁有可通過(guò)檢查工具訪問(wèn)的瀏覽器控制臺(tái)-但該瀏覽器控制臺(tái)實(shí)際上并不讓您調(diào)用要直接執(zhí)行的JavaScript文件,也不為您提供REPL來(lái)直接與服務(wù)器/計(jì)算機(jī)資源交互。您無(wú)法直接從瀏覽器調(diào)用JS文件并執(zhí)行其功能。您需要將JS文件加載到HTML文檔中,然后允許瀏覽器拉取源代碼并最終運(yùn)行JavaScript。系統(tǒng)訪問(wèn)為了您的安全,瀏覽器將JavaScript沙箱化。Node.js為開(kāi)發(fā)人員提供了像任何其他本機(jī)應(yīng)用程序一樣對(duì)系統(tǒng)的完全訪問(wèn)權(quán)限。這意味著Node.js可以直接讀寫(xiě)文件系統(tǒng),不受限制地訪問(wèn)網(wǎng)絡(luò),并且可以執(zhí)行計(jì)算機(jī)上安裝的軟件。這也意味著您必須更加謹(jǐn)慎地對(duì)待Node.js-您不是沙箱,您可以做所有事情。擁有權(quán)利的同時(shí)也被賦予了重大的責(zé)任。全局與窗口在瀏覽器端JS中我們有對(duì)象window。這是前端/客戶(hù)端JS中最上面的父對(duì)象。在服務(wù)器端JS中我們有g(shù)l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級(jí)會(huì)計(jì)實(shí)務(wù)-《初級(jí)會(huì)計(jì)實(shí)務(wù)》??荚嚲?54
- 基于干擾噪聲協(xié)方差矩陣重構(gòu)的穩(wěn)健波束形成算法研究
- 安全防范與電信詐騙應(yīng)對(duì)
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園發(fā)展與建設(shè)綜合方案
- 科創(chuàng)孵化器項(xiàng)目商業(yè)計(jì)劃書(shū)
- 光伏組件回收產(chǎn)業(yè)未來(lái)機(jī)遇與發(fā)展報(bào)告
- 文化傳媒行業(yè)編導(dǎo)培訓(xùn)總結(jié)
- 2025版高端石材工程采購(gòu)及售后服務(wù)合同協(xié)議3篇
- 二零二五年度個(gè)人汽車(chē)維修貸款合同范本4篇
- 二零二五年度公益廣告宣傳海報(bào)設(shè)計(jì)與制作合同3篇
- JJG 705-2014液相色譜儀行業(yè)標(biāo)準(zhǔn)
- 地雷基本知識(shí)課件
- 五年級(jí)上冊(cè)小數(shù)除法豎式計(jì)算練習(xí)200題及答案
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)簡(jiǎn)便計(jì)算大全500題及答案
- 創(chuàng)新創(chuàng)業(yè)教育課程體系
- 包裝品質(zhì)彩盒外箱知識(shí)課件
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 頸復(fù)康腰痛寧產(chǎn)品知識(shí)課件
- 2024年低壓電工證理論考試題庫(kù)及答案
- 《民航服務(wù)溝通技巧》教案第14課民航服務(wù)人員上行溝通的技巧
- MT/T 538-1996煤鉆桿
評(píng)論
0/150
提交評(píng)論