運(yùn)行 Node.js 與瀏覽器 JavaScript_第1頁
運(yùn)行 Node.js 與瀏覽器 JavaScript_第2頁
運(yùn)行 Node.js 與瀏覽器 JavaScript_第3頁
運(yùn)行 Node.js 與瀏覽器 JavaScript_第4頁
運(yùn)行 Node.js 與瀏覽器 JavaScript_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

?瀏覽器和Node.js都使用JavaScript軟件語言-但字面上的運(yùn)行時(shí)環(huán)境是不同的。Node.js(又名服務(wù)器端JavaScript)與客戶端JavaScript有許多相似之處。它也有很多差異。盡管兩者都使用JavaScript作為軟件語言,但我們可以重點(diǎn)關(guān)注一些關(guān)鍵差異,這些差異使兩者之間的軟件開發(fā)體驗(yàn)截然不同。在今天的文章中,我們將深入探討Node.js(又名服務(wù)器端JavaScript)與瀏覽器(又名客戶端JavaScript)的區(qū)別。從前端開發(fā)人員的角度來看,node.js具有巨大的優(yōu)勢。Node.js憑借熟悉和舒適的力量,允許開發(fā)人員使用他們已經(jīng)熟悉的JavaScript軟件語言創(chuàng)建全棧應(yīng)用程序。這是巨大的。通過在堆棧的兩端使用相同的語言,您可以深入學(xué)習(xí)JavaScript并堅(jiān)持變得越來越好,而無需在語言之間切換,也無需將學(xué)習(xí)資源劃分為兩種或多種語言(除了軟件開發(fā)所需的其他一切之外)你來學(xué)習(xí)?!拔覀冸p方都使用JavaScript,那么有什么變化呢?”Node.js和瀏覽器端JavaScript之間的變化在于生態(tài)系統(tǒng)。例如,在瀏覽器中您...與DOM(文檔對象模塊)交互利用Web平臺(tái)API(例如:Cookie)當(dāng)然,這些示例實(shí)際上并不存在于Node中。DOM是一個(gè)表示層-它是一個(gè)文檔對象模塊,其很大程度上受到通過瀏覽器的功能為Web創(chuàng)建可視化用戶界面層的需求的啟發(fā)。Node.js是服務(wù)器端,我們沒有DOM,也不需要Cookie。Cookie主要用于跟蹤用戶或保存用戶信息-我們位于服務(wù)器端,可以直接訪問數(shù)據(jù)庫或存儲(chǔ)資源,并使用Node.js來控制支持網(wǎng)站的服務(wù)器本身-這是而不是交互用于與前端網(wǎng)站服務(wù)器通信的瀏覽器。在瀏覽器中,JavaScript將無法訪問節(jié)點(diǎn)擁有的幾個(gè)干凈的API/模塊。例如,在節(jié)點(diǎn)中,您...能夠交互并訪問文件系統(tǒng)(fs)另一個(gè)巨大的區(qū)別是Node.js允許您控制環(huán)境本身。除非您正在構(gòu)建一個(gè)任何人都可以在其上構(gòu)建并部署在任何地方的開源應(yīng)用程序,否則您知道將在哪個(gè)版本的Node.js上運(yùn)行您的應(yīng)用程序。這與瀏覽器相比,其中環(huán)境基于瀏覽器版本。您無法定義訪問者將在前端使用的環(huán)境。在后端,您可以這樣做,這對于開發(fā)人員來說非常方便。這意味著您可以使用您的Node版本支持的所有現(xiàn)代ES6-7-8-9等JavaScript編寫。JavaScript的進(jìn)步速度與任何其他軟件語言一樣快-瀏覽器似乎總是有點(diǎn)落后于JS曲線(至少有一些瀏覽器是這樣,所以你必須等待一段時(shí)間才能使用最新的JavaScript版本支持您的應(yīng)用程序在前端瀏覽器之間的兼容性,以支持所有訪問者及其對您的軟件的體驗(yàn))。由于JavaScript的發(fā)展速度如此之快,但瀏覽器的升級速度可能有點(diǎn)慢,有時(shí)在網(wǎng)絡(luò)上您只能使用較舊的JavaScript/ECMAScript版本。在瀏覽器方面,您可以做一些額外的工作來緩解這種“瀏覽器總是有點(diǎn)落后”的問題,方法是在將代碼發(fā)送到瀏覽器之前使用Babel將代碼轉(zhuǎn)換為ES5兼容。這需要您安裝webpack,確保使用正確的轉(zhuǎn)譯器,并設(shè)置正確的配置,以最終將現(xiàn)代JavaScript簡化為舊版本的JavaScript,以便所有瀏覽器都可以使用它。在node.js方面,您不必這樣做。你不需要這樣做。另一個(gè)區(qū)別是Node.js使用CommonJS模塊系統(tǒng),而在瀏覽器中我們開始看到正在實(shí)現(xiàn)的ES模塊標(biāo)準(zhǔn)。實(shí)際上,這意味著您可能需要在瀏覽器中require()使用時(shí)在Node中使用import-但這看起來將來會(huì)發(fā)生變化/標(biāo)準(zhǔn)化。什么是Node.jsNode.js是一個(gè)基于chrome的JavaScript引擎(稱為V8)的JS運(yùn)行時(shí)。簡單來說,從chrome中提取了V8JS引擎,并使用它開發(fā)了一種可以獨(dú)立運(yùn)行的新技術(shù)。當(dāng)然,類似的事情還有很多內(nèi)容。如前所述,這不是DOM,沒有用戶界面,并且存在運(yùn)行時(shí)差異。安裝Node.js與瀏覽器JS與Python或PHP一樣,您實(shí)際上必須安裝Node.js才能使其在您的計(jì)算機(jī)上正常工作。你可以在\o"這里"這里安裝node.js。所有主要操作系統(tǒng)(Windows、Mac、Ubuntu等)都支持Node.js。另一方面,您有瀏覽器。將JavaScript安裝到瀏覽器中是什么樣子?答案是它看起來不像什么。瀏覽器負(fù)責(zé)使用、解釋和運(yùn)行JavaScript——您無需安裝它,它是瀏覽器自帶的。運(yùn)行Node.js與瀏覽器JavaScript安裝后(如PHP、Python或任何其他服務(wù)器端語言),node.js可以直接通過命令行或終端運(yùn)行。node{file_path.js}您可以通過終端或命令行執(zhí)行來調(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)境的方式不起作用。您擁有可通過檢查工具訪問的瀏覽器控制臺(tái)-但該瀏覽器控制臺(tái)實(shí)際上并不讓您調(diào)用要直接執(zhí)行的JavaScript文件,也不為您提供REPL來直接與服務(wù)器/計(jì)算機(jī)資源交互。您無法直接從瀏覽器調(diào)用JS文件并執(zhí)行其功能。您需要將JS文件加載到HTML文檔中,然后允許瀏覽器拉取源代碼并最終運(yùn)行JavaScript。系統(tǒng)訪問為了您的安全,瀏覽器將JavaScript沙箱化。Node.js為開發(fā)人員提供了像任何其他本機(jī)應(yīng)用程序一樣對系統(tǒng)的完全訪問權(quán)限。這意味著Node.js可以直接讀寫文件系統(tǒng),不受限制地訪問網(wǎng)絡(luò),并且可以執(zhí)行計(jì)算機(jī)上安裝的軟件。這也意味著您必須更加謹(jǐn)慎地對待Node.js-您不是沙箱,您可以做所有事情。擁有權(quán)利的同時(shí)也被賦予了重大的責(zé)任。全局與窗口在瀏覽器端JS中我們有對象window。這是前端/客戶端JS中最上面的父對象。在服務(wù)器端JS中我們有g(shù)l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論