Node.js - 維基百科,自由的百科全書

文章推薦指數: 80 %
投票人數:10人

Node.js 大部分基本模組都用JavaScript 語言編寫。

在Node.js 出現之前,JavaScript 通常作為使用者端程式設計語言使用,以JavaScript 寫出的程式常在使用者的瀏覽 ... Node.js 維基百科,自由的百科全書 跳至導覽 跳至搜尋 Node.js原作者瑞安·達爾開發者Node.js開發者、Joyent及其他貢獻者初始版本2009年5月28日,​13年前​(2009-05-28)[1]穩定版本18.9.1[2](2022年9月23日,33小時前) 原始碼庫github.com/nodejs/node 程式語言C、C++、JavaScript作業系統macOS,Linux,Windows,FreeBSD,OpenBSD[3]類型事件驅動網路授權條款MIT授權條款網站nodejs.org  Node.js是能夠在伺服器端運行JavaScript的開放原始碼、跨平台執行環境。

Node.js由OpenJSFoundation[4](原為Node.jsFoundation,已與JSFoundation合併)持有和維護[5],亦為Linux基金會的專案[6]。

Node.js採用Google開發的V8執行程式碼,使用事件驅動、非阻塞和非同步輸入輸出模型等技術來提高效能,可優化應用程式的傳輸量和規模。

這些技術通常用於資料密集的即時應用程式。

Node.js大部分基本模組都用JavaScript語言編寫。

在Node.js出現之前,JavaScript通常作為使用者端程式設計語言使用,以JavaScript寫出的程式常在使用者的瀏覽器上執行。

Node.js的出現使JavaScript也能用於伺服器端編程。

Node.js含有一系列內建模組,使得程式可以脫離ApacheHTTPServer或IIS,作為獨立伺服器執行。

目前,Node.js已被IBM[7]、Microsoft[8][9]、Yahoo![10]、Walmart[11]、Groupon[12]、SAP[13]、LinkedIn[14][15]、Rakuten、PayPal[16][17]、Voxer[18]、GoDaddy[19]等企業採用。

目次 1概覽 2歷史 3程式範例 4技術 4.1執行緒 4.2V8 4.3npm 4.4統一API 4.5事件循環 5開發工具 6替代品 6.1JXcore 6.2其他語言 7參見 8參考文獻 9外部連結 概覽[編輯] Node.js可透過JavaScript和一系列模組來編寫伺服器端應用和網路相關的應用。

[20][21][22]核心模組包括檔案系統I/O、網路(HTTP、TCP、UDP、DNS、TLS/SSL等)、二進位資料流、加密演算法、資料流等等。

[21][23]Node模組的API形式簡單,降低了編程的複雜度。

[21] 使用框架可以加速開發。

常用的框架有Express.js、Socket.IO和Connect等。

[24]Node.js的程式可以在MicrosoftWindows、Linux、Unix、MacOSX等伺服器上執行。

Node.js也可以使用CoffeeScript(一種旨在簡化JavaScript的替代語言,其代碼可按照一定規則轉化為合法的JavaScript代碼)、TypeScript(微軟開發的強化了資料類型的JavaScript變體)、Dart語言,以及其他能夠編譯成JavaScript的語言編程。

[25][25] Node.js主要用於編寫像Web伺服器一樣的網路應用,這和PHP和Python是類似的。

[20]但是Node.js與其他語言最大的不同之處在於,PHP等語言是阻塞的(只有前一條命令執行完畢才會執行後面的命令),而Node.js是非阻塞的(多條命令可以同時被執行,通過回呼函式得知命令已結束執行)。

[20] Node.js是事件驅動的。

開發者可以在不使用執行緒的情況下開發出一個能夠承載高並行的伺服器。

其他伺服器端語言難以開發高並行應用,而且即使開發出來,效能也不盡如人意。

Node.js正是在這個前提下被創造出來。

Node.js把JavaScript的易學易用和Unix網路編程的強大結合起來。

Node.js使用GoogleV8JavaScript引擎,因為: V8是基於BSD授權條款的開源軟體 V8速度非常快 V8專注於網路功能,在HTTP、DNS、TCP等方面更加成熟 Node.js已經有數十萬模組,它們可以透過一個名為npm的管理器免費下載。

Node.js開發社群主要有兩個郵寄清單、一個在freenode的名為#node.js的IRC頻道。

社群集中在NodeConf[26][27]。

歷史[編輯] Node.js的創始人瑞安·達爾,攝於2010年 Node.js於2009年寫成,原始作者是美國軟體工程師瑞安·達爾(RyanDahl)[28]。

Node.js結合了Google的V8、事件驅動模式和低階I/O介面[29],其設計靈感源自Flickr的一款上傳進度欄:在上傳過程中,瀏覽器並不清楚有多少檔案已經傳送到伺服器,除非向伺服器進行查詢,於是達爾想出了一個更簡便的方法[30]。

Node.js的開發和維護工作由達爾本人主持,而他所在的Joyent公司也提供了贊助[31]。

2009年11月8日,達爾在歐洲JSConf大會上展示了Node.js專案[32][33][34],並受到了觀眾讚賞[35]。

在演講中,達爾針對ApacheHTTPServer和順序編程方式提出了批評,認為Apache處理大量並行連接(10,000甚至更多)的可能性有限,而且順序編程方式在多連接情況下會造成阻塞,或者消耗更多資源;而Node.js提供了基於事件驅動和非阻塞的介面,可用於編寫高並行狀態下的程式,而且JavaScript的匿名函式、閉包、回呼函式等特性就是為事件驅動而設計的[36]。

2010年1月,一款名為「npm」的軟體套件管理系統誕生[37]。

npm使程式設計師能夠更方便地釋出和分享Node.js類別館及原始碼,而且簡化了類別館安裝、升級與解除安裝的過程[29]。

Node.js最初只支援Linux和MacOSX作業系統。

2011年6月,微軟和Joyent共同合作,把Node.js移植到了Windows系統上面[38],並且在7月釋出了第一個正式支援Windows系統的版本。

2012年1月,達爾離開了Node.js專案,開發工作由他的同事以及npm創始人艾薩克·施呂特(IsaacSchlueter)繼續主持[39]。

2014年2月,蒂莫西·費里斯(TimothyJ.Fontaine)接任專案主管[40]。

由於長期對Joyent的管理感到不滿,Node.js核心開發者FedorIndutny在2014年12月製作了分支版本,並起名「io.js」。

與Node.js相對的是,io.js採用開放管理模式進行管理[41][42],並計劃始終採用最新版的V8引擎[43][44]。

為了在使用者、廠商和開發者之間取得平衡,Node.js基金會於2015年初成立。

基金會得到了IBM、Intel、微軟、Joyent等公司的支援。

6月,Node.js和io.js開發者社群共同決定合併到Node.js基金會之下[45]。

同年9月,Node4.0釋出,Node.js和io.js正式合併[46]。

4.0版引入了ES6的語言特性和「長期支援版本」的釋出周期[46]。

到了2016年,io.js宣布不再釋出新版本,並建議開發者換回Node.js[47]。

程式執行(英語:Execution(computing)) 基礎概念 代碼 翻譯器 編譯器 最佳化編譯器(英語:Optimizingcompiler) 中間語言 程式執行(英語:Execution(computing)) 執行時系統 執行期 執行檔 直譯器 虛擬機器 代碼類型 原始碼 目的碼 位元組碼 機器碼 微程式 編譯策略 即時編譯(JIT) 跟蹤即時編譯(英語:Tracingjust-in-timecompilation) 提前編譯(英語:Ahead-of-timecompilation)(AOT) 原始碼至原始碼編譯器 動態重編譯 知名執行環境 AndroidRuntime(ART) 通用語言運行庫(CLR) crt0 Java虛擬機器(JVM) V8 Node.js PyPy Zend引擎 著名編譯器及工具鏈 GNU編譯器套裝(GCC) LLVM Clang 閱論編 程式範例[編輯] 用Node.js撰寫的HTTPServer版helloworld範例: consthttp=require('http'); http.createServer((request,response)=>{ response.writeHead(200,{'Content-Type':'text/plain'}); response.end('HelloWorld!'); }).listen(8000); console.log('Serverrunningathttp://127.0.0.1:8000/'); 另一個簡單的TCP伺服器範例,監聽(Listening)埠7000並輸出(echo)之前輸入的訊息: constnet=require('net'); net.createServer(stream=>{ stream.write('hello\r\n'); stream.on('end',()=>stream.end('goodbye\r\n')); stream.pipe(stream); }).listen(7000); 技術[編輯] 執行緒[編輯] Node.js以單執行緒執行,使用非阻塞I/O呼叫,這樣既可以支援數以萬計的並行連線,又不會因多執行緒本身的特點而帶來麻煩。

眾多請求只使用單執行緒的設計意味著可以用於建立高並行應用程式。

Node.js應用程式的設計目標是任何需要操作I/O的函式都使用回呼函式。

這種設計的缺點是,如果不使用cluster[48]、StrongLoopProcessManager[49]或pm2[50]等模組,Node.js就難以處理多核或多執行緒等情況。

V8[編輯] 主條目:V8(JavaScript引擎) V8是為GoogleChrome設計的JavaScript執行引擎,Google於2008年將其開源。

V8用C++寫成,它將JavaScript原始碼編譯成本地機器碼而不是解釋執行。

Node.js用libuv來處理非同步事件,而V8提供了JavaScript的即時執行環境。

libuv是一個網路和檔案系統功能的抽象層,既可以用於Windows又可以用於符合POSIX標準的系統,例如Linux、OSX和Unix。

Node.js的核心功能被包含進一個JavaScript庫,並通過C++將各部分與作業系統進行聯絡。

npm[編輯] 主條目:npm npm是Node.js附帶的套件管理器。

npm是一個命令列工具,用於從NPMRegistry中下載、安裝Node.js程式,同時解決依賴問題。

npm提高了開發的速度,因為它能夠負責第三方Node.js程式的安裝與管理。

統一API[編輯] Node.js將瀏覽器、資料(例如MongoDB或CouchDB)等組合到一起,通過JSON提供一個統一的介面。

由於前端框架和一些基本的後端開發技術(如MVC、MVP、MVVM等)變得流行,Node.js也支援客戶端和伺服器端重新利用相同的模型和介面。

事件迴圈[編輯] Node.js將其註冊到作業系統中,這樣可以及時注意到新連接的產生。

當新連接產生時,作業系統會產生一個回呼。

在Node.js執行時內部,每個連接都被分配一個小型的堆。

與其他伺服器程式不同的是,Node.js不使用行程或執行緒處理連接,而是採用事件迴圈來處理並行連接。

[51]而且Node.js的事件迴圈不需要手動呼叫。

在回呼函式定義之後,伺服器進入事件迴圈。

當回呼函式均被執行完畢之後,Node.js結束事件迴圈。

開發工具[編輯] 桌面IDE Atom(免費、開源軟體) Brackets(免費、開源軟體) SublimeText(商業軟體) JetBrainsIntelliJIDEA(商業軟體) JetBrainsWebStorm(商業軟體) MicrosoftVisualStudiowithNode.jsToolsforVisualStudio[52](商業軟體) MicrosoftVisualStudiowithTypeScript(商業軟體) NodeclipseEnideStudio(免費、開源軟體、在Eclipse基礎上開發) NoFlo–與GNOMEAPI整合的串流開發環境[53] VisualStudioCode(免費、開源軟體) 線上編輯器 Koding CodenvyIDE Cloud9IDE Codiad[54] 執行時和除錯器 MicrosoftVisualStudio(商業)withNode.jsToolsforVisualStudio(免費) MicrosoftWebMatrix(免費、閉源軟體) VisualStudioCode 框架 伺服器端框架:Express.js,Socket.IO,Koa.js[55],Hapi.js[56],Total.js[57][58] MVC框架:Meteor[59],Derby[60],Sails[61],Mean[62],MeanJS[63],Tower.js[64],Nombo[65],Geddy[66],Compound[67],Yahoo!Mojito[68] 替代品[編輯] JXcore[編輯] 維基共享資源中相關的多媒體資源:Node.js JXcore是一個開放原始碼的Node.js的分支,旨在支援行動裝置和物聯網。

第一個Beta版本於2014年1月釋出。

它於2015年2月13日開源[69]並且可從GitHub倉庫[70]獲得。

JXcore同時使用GoogleV8和MozillaSpiderMonkey兩個引擎。

因此JXcore可以通過MozillaSpiderMonkey在iOS裝置上執行Node應用程式。

其他語言[編輯] 類似的語言和開發環境有: Python:Tornado和Twisted Perl:PerlObjectEnvironment C語言:libevent Java、JavaScript、Groovy、Python、Scala、Clojure、Ruby、Ceylon等:Vert.x Java和Scala:Akka Ruby:EventMachine D語言:vibe.d Lua:Luvit[71] OCaml:Ocsigen 參見[編輯] 自由軟體主題 Rhino(JavaScript引擎) npm:廣泛使用的Node.js安裝套件管理器 MEAN JSAN(JavaScriptArchiveNetwork),一個不太常用的JavaScript安裝套件管理器 參考文獻[編輯] ^RyDahl.Releasev0.0.1·nodejs/node.GitHub.28May2009[2019-12-24].(原始內容存檔於2020-04-09)(英語).First!  ^https://github.com/nodejs/node/releases/tag/v18.9.1。

^nodejs/node.GitHub.[2019-04-09].(原始內容存檔於2019-04-22).  ^TheLinuxFoundation.Node.jsFoundationandJSFoundationMergetoFormOpenJSFoundation.LinuxFoundation.TheLinuxFoundation.March12,2019[2019-12-24].(原始內容存檔於2020-08-03)(英語).OPENSOURCELEADERSHIPSUMMIT,HalfMoonBay,Calif.—March12,2019—TheNode.jsFoundationandtheJSFoundationtodayannouncedtheyaremergingtoformtheOpenJSFoundation. Node.js.IntroducingtheOpenJSFoundation:TheNextPhaseofJavaScriptEcosystemGrowth.Medium.Mar13,2019[2019-12-24].(原始內容存檔於2019-12-06)(英語).theNode.jsFoundationandtheJSFoundationaremergingtoformtheOpenJSFoundation.  ^Node.jsFoundation.Node.js.[4July2015].(原始內容存檔於2015-07-05)(英語).  ^LinuxFoundationCollaborativeProjects.LinuxFoundation.[4July2015].(原始內容存檔於2016-03-07)(英語). OpenSourceProjects.Linux基金會.[2019-12-24].(原始內容存檔於2019-12-23)(中文(中國大陸)).  ^IBMBluemix.[4July2015].(原始內容存檔於2019-10-18).  ^Here'swhyyoushouldbehappythatMicrosoftisembracingNode.js.TheGuardian.November9,2011[May10,2012].(原始內容存檔於2013-07-25).  ^WebMatrix-FrontEndWebDeveloperstakenote(ASP.NET,PHP,node.jsandmore).[2August2014].(原始內容存檔於2015-08-03).  ^Yahoo!AnnouncesCocktailsShaken,NotStirred.[7April2015].(原始內容存檔於2015年4月8日).  ^WhyWalmartisusingNode.js.VentureBeat.January24,2012[May10,2012].(原始內容存檔於2015-08-29).  ^Geitgey,Adam.I-Tier:DismantlingtheMonoliths.Groupon.30October2013[30April2014].(原始內容存檔於2015-09-10).  ^SAPAppBuilder.SAP.March10,2014[March10,2014].(原始內容存檔於2015-08-17).  ^You'llneverbelievehowLinkedInbuiltitsnewiPadapp.VentureBeat.May2,2012[May10,2012].(原始內容存檔於2015-08-12).  ^Blazingfastnode.js:10performancetipsfromLinkedInMobile.[7April2015].(原始內容存檔於2015-09-10).  ^ClashoftheTitans:ReleasingtheKraken,[email protected],2013[September11,2013].(原始內容存檔於2015-07-25).  ^AllsuchcompaniesandtheirproductsinwhichNode.jsisused.[2August2014].(原始內容存檔於2015-08-10).  ^TheNodeAhead:JavaScriptleapsfrombrowserintofuture(頁面存檔備份,存於網際網路檔案館),TheRegister,March1,2011 ^WhyGoDaddy’sNodejitsudealisgreatforNode.js(頁面存檔備份,存於網際網路檔案館),VentureBeat,February10,2015 ^20.020.120.2Node.jsforPHPDevelopers(頁面存檔備份,存於網際網路檔案館),O'ReillyMedia,Inc.,2013 ^21.021.121.2Node.jsEssentials(頁面存檔備份,存於網際網路檔案館),PacktPublishing,09-Sep-2014 ^SmashingNode.js:JavaScriptEverywhere(頁面存檔備份,存於網際網路檔案館),JohnWiley&Sons,14-Aug-2012 ^Modules(頁面存檔備份,存於網際網路檔案館)},NodejsWebsite ^AzatMardan.Express.jsGuide:TheComprehensiveBookonExpress.js.AzatMardan,2014.2014-05-28[2015-08-14].(原始內容存檔於2015-07-13).  ^25.025.1CoffeeScriptonNode.js.O'ReillyMedia,Inc.April15,2013[May17,2015].(原始內容存檔於2015-07-02).  ^NodeConf(頁面存檔備份,存於網際網路檔案館) ^Finley,Klint.NodeConfScheduleAnnounced.ReadWriteHack.April7,2011[2August2014].(原始內容存檔於2012年9月17日).  ^AboutNode.js,andwhyyoushouldaddNode.jstoyourskillset?.Training.com.Training.com.[23October2016].(原始內容存檔於2017-04-01).  ^29.029.1ProfessionalNode.js:BuildingJavaScriptBasedScalableSoftware(頁面存檔備份,存於網際網路檔案館),JohnWiley&Sons,01-Oct-2012 ^Harris,Amber.TheBirthofNode:WhereDiditComeFrom?CreatorRyanDahlSharestheHistory.DevopsAngle.April1,2012[26October2013].(原始內容存檔於2014-10-18).  ^RyanDahl.JoyentandNode.GoogleGroups.2010-11-09[2015-02-05].(原始內容存檔於2011-01-22).  ^SamsTeachYourselfNode.jsin24Hours(頁面存檔備份,存於網際網路檔案館),SamsPublishing,05-Sep-2012 ^RyanDahlatJSConfEU2009.[2017-05-04].(原始內容存檔於2017-05-14).  ^RyanDahlatJSConfEU2009Video.[2017-05-04].(原始內容存檔於2017-05-15).  ^Video:Node.jsbyRyanDahl.[2017-05-04].(原始內容存檔於2017-05-11).  ^PHP7vsNode.js?TheyCanBePartners,NotCompetitorsForaDeveloper!.[21December2016].(原始內容存檔於2017-02-23).  ^Earliestreleasesofnpm.GitHub.[27July2016].(原始內容存檔於2017-03-01).  ^PortingNodetoWindowsWithMicrosoft'sHelp.[17April2016].(原始內容存檔於2017-07-14).  ^Dahl,Ryan.Newgatekeeper.[26October2013].(原始內容存檔於2011-01-22).  ^Schlueter,Isaac.TheNextPhaseofNode.js.January15,2014[21January2014].(原始內容存檔於2017-07-14).  ^Krill,Paul.Whyio.jsDecidedtoForkNode.js.JavaWorld.Dec4,2014[Dec15,2014].(原始內容存檔於2017-06-30).  ^Q&A:Whyio.jsdecidedtoforkNode.js(頁面存檔備份,存於網際網路檔案館),InfoworldTechWatch ^BenNoordhuis.Issue3692:functionsuddenlybecomes.V8JavaScriptEngineIssues.Nov12,2014[2February2015].(原始內容存檔於2015-11-01).  ^Mikeal,Rogers.Stateofio.js.January28,2015[2February2015].(原始內容存檔於2015-08-30).  ^Node.jsFoundationAdvancesCommunityCollaboration,AnnouncesNewMembersandRatifiedTechnicalGovernance.[4July2015].(原始內容存檔於2015年6月24日).  ^46.046.1Node.jsFoundationCombinesNode.jsandio.jsIntoSingleCodebaseinNewRelease.[28Jan2016].(原始內容存檔於2017-01-07).  ^Io.js,JavaScriptI/O(頁面存檔備份,存於網際網路檔案館),"io.jshasmergedwiththeNode.jsprojectagain.Therewon'tbeanyfurtherio.jsreleases.Allofthefeaturesinio.jsareavailableinNode.jsv4andabove." ^cluster(頁面存檔備份,存於網際網路檔案館) ^StrongLoopProcessManager(頁面存檔備份,存於網際網路檔案館) ^pm2(頁面存檔備份,存於網際網路檔案館) ^AboutNode.js(頁面存檔備份,存於網際網路檔案館),Node.jsWebsite ^Node.jsToolsforVisualStudio.Codeplex.[2August2014].(原始內容存檔於2018-01-16).  ^Bergius:FlowhubandtheGNOMEDeveloperExperience.LWN.net.2014-05-02[2014-05-24].(原始內容存檔於2018-12-26).  ^Codiad(頁面存檔備份,存於網際網路檔案館) ^Koa.js(頁面存檔備份,存於網際網路檔案館) ^Hapi.js(頁面存檔備份,存於網際網路檔案館) ^Node.jsFrameworkComparison:Expressvs.Koavs.Hapi(頁面存檔備份,存於網際網路檔案館),AirPair ^PeterWayner.13fabulousframeworksforNode.js.InfoWorld.21May2014[4July2015].(原始內容存檔於2015-08-09).  ^Meteor(頁面存檔備份,存於網際網路檔案館) ^Derby(頁面存檔備份,存於網際網路檔案館) ^Sails ^Mean ^MeanJS(頁面存檔備份,存於網際網路檔案館) ^Tower.js(頁面存檔備份,存於網際網路檔案館) ^Nombo ^Geddy ^Compound(頁面存檔備份,存於網際網路檔案館) ^Yahoo!Mojito ^SerdarYegulalp.Node.jsforkJXcoregoesopensource,aimsformobiledevelopers.InfoWorld.20February2015[4July2015].(原始內容存檔於2015-08-13).  ^repository(頁面存檔備份,存於網際網路檔案館) ^Luvit(頁面存檔備份,存於網際網路檔案館) 外部連結[編輯] 官方網站 Node.js原始碼(頁面存檔備份,存於網際網路檔案館) AlsoRead-BestMagento2Extensions(頁面存檔備份,存於網際網路檔案館) 閱論編JavaScript代碼分析 ESLint JSHint JSLint 編譯器 CoffeeScript Dart Emscripten(英語:Emscripten) GoogleClosureCompiler(英語:GoogleClosureCompiler) GoogleWebToolkit Morfik(英語:Morfik) TypeScript AtScript(英語:AtScript) Opa(英語:Opa(programminglanguage)) Haxe Clojure Elm PureScript Reason 概念 Ajax 動態HTML JavaScript函式庫 JavaScript語法 非侵入式JavaScript 除錯工具 Firebug KomodoIDE(英語:KomodoIDE) MicrosoftScriptDebugger(英語:MicrosoftScriptDebugger) MicrosoftScriptEditor(英語:MicrosoftScriptEditor) OperaDragonfly(英語:OperaDragonfly) Venkman Safari 文件生成器(英語:Documentationgenerator) JSDoc(英語:JSDoc) 編輯器(比較(英語:ComparisonofJavaScript-basedsourcecodeeditors)) Ace(英語:Ace(editor)) Cloud9IDE Atom CodeMirror(英語:CodeMirror) LightTable Brackets Koding Orion VisualStudio VisualStudioExpress VisualStudioCode VisualStudioTeamServices 引擎 ECMAScript引擎列表 JavaScript引擎 JavaScript引擎比較 軟體框架 JavaScript框架比較(英語:ComparisonofJavaScriptframeworks) JavaScript庫列表 相關語言 ActionScript asm.js CoffeeScript Dart ECMAScript JavaScriptOSA JScript TypeScript AtScript VBScript 相關技術 CSS DOM HTML JSON WebAssembly 軟體套件管理系統 Npm NuGet 伺服器端 ActiveServerPages CommonJS Deno JSGI(英語:JSGI) Node.js Wakanda(英語:Wakanda(software)) 單元測試 Jasmine(英語:Jasmine(JavaScriptframework)) Mocha(英語:Mocha(JavaScriptframework)) QUnit(英語:QUnit) JavaScript單元測試框架列表(英語:Listofunittestingframeworks#JavaScript) 人物 道格拉斯·克羅克福特 布蘭登·艾克 約翰·雷西格 瑞安·達爾 閱論編Node.js軟體 Node.js Npm V8 CommonJS 框架 MEAN MongoDB Express.js AngularJS/Angular MEEN 以Ember.js取代Angular Backbone.js Meteor(Web應用框架)(英語:Meteor(webframework)) Sails.js(英語:Sails.js) 庫 Lodash Underscore.js(英語:Underscore.js) React.js Vue.js 程式語言 JavaScript CoffeeScript TypeScript 雲平台 Joyent Nodejitsu(英語:Nodejitsu) OpenShift Linode DigitalOcean GoogleAppEngine 規範控制 WorldCatIdentities GND:1027030742 LCCN:n2013024269 取自「https://zh.wikipedia.org/w/index.php?title=Node.js&oldid=73269809」 分類:​JavaScript函式庫使用MIT許可證的軟體用JavaScript編程的自由軟體隱藏分類:​CS1含有外文文本CS1英語來源(en)含有英語的條目包含GND標識符的維基百科條目包含LCCN標識符的維基百科條目 導覽選單 個人工具 沒有登入討論貢獻建立帳號登入 命名空間 條目討論 臺灣正體 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 閱讀編輯檢視歷史 更多 搜尋 導航 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他專案 維基共享資源 其他語言 العربيةAsturianuAzərbaycancaБеларускаяБългарскиবাংলাCatalàکوردیČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiEuskaraفارسیSuomiFrançaisעבריתहिन्दीMagyarՀայերենBahasaIndonesiaItaliano日本語한국어КыргызчаLombardLatviešuമലയാളംBahasaMelayuNederlandsNorskbokmålPolskiPortuguêsRomânăРусскийSimpleEnglishСрпски/srpskiSvenskaTürkçeУкраїнськаاردوOʻzbekcha/ўзбекчаTiếngViệtBân-lâm-gú 編輯連結



請為這篇文章評分?