Node.js - Wikipedia
文章推薦指數: 80 %
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on a JavaScript Engine (i.e. V8 engine) and executes JavaScript ... Node.js FromWikipedia,thefreeencyclopedia Jumptonavigation Jumptosearch JavaScriptruntimeenvironment Node.jsOriginalauthor(s)RyanDahlDeveloper(s)OpenJSFoundationInitialreleaseMay 27,2009;13yearsago (2009-05-27)[1]Stablerelease18.9.1[2] /September23,2022;5daysago (September23,2022) Repositorygithub.com/nodejs/node WritteninC,C++,JavaScriptOperatingsystemz/OS,Linux,macOS,MicrosoftWindows,SmartOS,FreeBSD,OpenBSD,IBMAIX[3]TypeRuntimeenvironmentLicenseMITLicense[4][5]Websitenodejs.org Node.jsisanopen-source,cross-platform,back-endJavaScriptruntimeenvironmentthatrunsonaJavaScriptEngine(i.e.V8engine)andexecutesJavaScriptcodeoutsideawebbrowser,whichwasdesignedtobuildscalablenetworkapplications.Node.jsletsdevelopersuseJavaScripttowritecommandlinetoolsandforserver-sidescripting—runningscriptsserver-sidetoproducedynamicwebpagecontentbeforethepageissenttotheuser'swebbrowser.Consequently,Node.jsrepresentsa"JavaScripteverywhere"paradigm,[6]unifyingweb-applicationdevelopmentaroundasingleprogramminglanguage,ratherthandifferentlanguagesforserver-sideandclient-sidescripts. Node.jshasanevent-drivenarchitecturecapableofasynchronousI/O.Thesedesignchoicesaimtooptimizethroughputandscalabilityinwebapplicationswithmanyinput/outputoperations,aswellasforreal-timeWebapplications(e.g.,real-timecommunicationprogramsandbrowsergames).[7] TheNode.jsdistributeddevelopmentprojectwaspreviouslygovernedbytheNode.jsFoundation,[8]andhasnowmergedwiththeJSFoundationtoformtheOpenJSFoundation,whichisfacilitatedbytheLinuxFoundation'sCollaborativeProjectsprogram.[9] CorporateusersofNode.jssoftwareincludeGoDaddy,[10]Groupon,[11]IBM,[12]LinkedIn,[13][14]Microsoft,[15][16]Netflix,[17]PayPal,[18][19]SAP,[20]Walmart,[21]Yahoo!,[22]andAmazonWebServices.[23] Contents 1History 2Overview 2.1Platformarchitecture 2.2Industrysupport 3Releases 4Technicaldetails 4.1Internals 4.2Threading 4.3V8 4.4Packagemanagement 4.5UnifiedAPI 4.6Eventloop 4.7WebAssembly 4.8Nativebindings 5Projectgovernance 6Seealso 7References 8Furtherreading 9Externallinks History[edit] RyanDahl,creatorofNode.js,in2010 Node.jswaswritteninitiallybyRyanDahlin2009,[24]aboutthirteenyearsaftertheintroductionofthefirstserver-sideJavaScriptenvironment,Netscape'sLiveWireProWeb.[25]TheinitialreleasesupportedonlyLinuxandMacOSX.ItsdevelopmentandmaintenancewasledbyDahlandlatersponsoredbyJoyent.[26] Dahlcriticizedthelimitedpossibilitiesofthemostpopularwebserverin2009,ApacheHTTPServer,tohandlealotofconcurrentconnections(upto10,000andmore)andthemostcommonwayofcreatingcode(sequentialprogramming),whencodeeitherblockedtheentireprocessorimpliedmultipleexecutionstacksinthecaseofsimultaneousconnections.[27] DahldemonstratedtheprojectattheinauguralEuropeanJSConfonNovember8,2009.[28][29][30]Node.jscombinedGoogle'sV8JavaScriptengine,aneventloop,andalow-levelI/OAPI.[31] InJanuary2010,apackagemanagerwasintroducedfortheNode.jsenvironmentcallednpm.[32]ThepackagemanagermakesiteasierforprogrammerstopublishandsharesourcecodeofNode.jspackagesandisdesignedtosimplifyinstallation,updating,anduninstallationofpackages.[31] InJune2011,MicrosoftandJoyentimplementedanativeWindowsversionofNode.js.[33]ThefirstNode.jsbuildsupportingWindowswasreleasedinJuly2011. InJanuary2012,Dahlsteppedaside,promotingcoworkerandnpmcreatorIsaacSchluetertomanagetheproject.[34]InJanuary2014,SchlueterannouncedthatTimothyJ.Fontainewouldleadtheproject.[35] InDecember2014,FedorIndutnystartedio.js,aforkofNode.js.DuetotheinternalconflictoverJoyent'sgovernance,io.jswascreatedasanopengovernancealternativewithaseparatetechnicalcommittee.[36][37]UnlikeNode.js,[38]theauthorsplannedtokeepio.jsup-to-datewiththelatestreleasesoftheGoogleV8JavaScriptengine.[39] InFebruary2015,theintenttoformaneutralNode.jsFoundationwasannounced.ByJune2015,theNode.jsandio.jscommunitiesvotedtoworktogetherundertheNode.jsFoundation.[40] InSeptember2015,Node.jsv0.12andio.jsv3.3weremergedbacktogetherintoNodev4.0.[41]ThismergebroughtV8ES6featuresintoNode.jsandalong-termsupportreleasecycle.[42]Asof2016,theio.jswebsiterecommendsthatdevelopersswitchbacktoNode.jsandthatnofurtherreleasesofio.jsareplannedduetothemerge.[43] In2019,theJSFoundationandNode.jsFoundationmergedtoformtheOpenJSFoundation. InSeptember2022,Node.js18.9.0wasreleased.[44] Overview[edit] Node.jsallowsthecreationofWebserversandnetworkingtoolsusingJavaScriptandacollectionof"modules"thathandlevariouscorefunctionalities.[28][31][45][46][47]ModulesareprovidedforfilesystemI/O,networking(DNS,HTTP,TCP,TLS/SSL,orUDP),binarydata(buffers),cryptographyfunctions,datastreams,andothercorefunctions.[31][46][48]Node.js'smodulesuseanAPIdesignedtoreducethecomplexityofwritingserverapplications.[31][46] JavaScriptistheonlylanguagethatNode.jssupportsnatively,butmanycompile-to-JSlanguagesareavailable.[49]Asaresult,Node.jsapplicationscanbewritteninCoffeeScript,[50]Dart,TypeScript,ClojureScriptandothers. Node.jsisprimarilyusedtobuildnetworkprogramssuchasWebservers.[45]ThemostsignificantdifferencebetweenNode.jsandPHPisthatmostfunctionsinPHPblockuntilcompletion(commandsexecuteonlyafterpreviouscommandsfinish),whileNode.jsfunctionsarenon-blocking(commandsexecuteconcurrentlyoreveninparallel,[51][52]andusecallbackstosignalcompletionorfailure).[45] Node.jsisofficiallysupportedonLinux,macOSandMicrosoftWindows8.1andServer2012(andlater),[3]withtier2supportforSmartOSandIBMAIXandexperimentalsupportforFreeBSD.OpenBSDalsoworks,andLTSversionsavailableforIBMi(AS/400).[53]TheprovidedsourcecodemayalsobebuiltonsimilaroperatingsystemstothoseofficiallysupportedorbemodifiedbythirdpartiestosupportotherssuchasNonStopOS[54]andUnixservers. Platformarchitecture[edit] Node.jsbringsevent-drivenprogrammingtowebservers,enablingdevelopmentoffastwebserversinJavaScript.[31]Developerscancreatescalableserverswithoutusingthreading,byusingasimplifiedmodelofevent-drivenprogrammingthatusescallbackstosignalthecompletionofatask.[31]Node.jsconnectstheeaseofascriptinglanguage(JavaScript)withthepowerofUnixnetworkprogramming.[31] Node.jswasbuiltontopofGoogle'sV8JavaScriptenginesinceitwasopen-sourcedundertheBSDlicense.ItisproficientwithinternetfundamentalssuchasHTTP,DNS,andTCP.[28]JavaScriptwasalsoawell-knownlanguage,makingNode.jsaccessibletothewebdevelopmentcommunity.[28] Industrysupport[edit] Therearethousandsofopen-sourcelibrariesforNode.js,mostofthemhostedonthenpmwebsite.TherearemultipledeveloperconferencesandeventsthatsupporttheNode.jscommunity,includingNodeConf,NodeInteractive,andNodeSummitaswellasanumberofregionalevents. Theopen-sourcecommunityhasdevelopedwebframeworkstoacceleratethedevelopmentofapplications.SuchframeworksincludeConnect,Express.js,Socket.IO,Feathers.js,Koa.js,Hapi.js,Sails.js,Meteor,Derby,andmanyothers.[31][55]VariouspackageshavealsobeencreatedforinterfacingwithotherlanguagesorruntimeenvironmentssuchasMicrosoft.NET.[56] ModerndesktopIDEsprovideeditinganddebuggingfeaturesspecificallyforNode.jsapplications.SuchIDEsincludeAtom,Brackets,JetBrainsWebStorm,[57][58]MicrosoftVisualStudio(withNode.jsToolsforVisualStudio,[59]orTypeScriptwithNodedefinitions,[60][61][62][63])NetBeans,[64]NodeclipseEnideStudio[65](Eclipse-based),andVisualStudioCode.[66][67] Certainonlineweb-basedIDEsalsosupportNode.js,suchasCodeanywhere,Codenvy,Cloud9IDE,Koding,andthevisualfloweditorinNode-RED. Node.jsissupportedacrossanumberofcloud-hostingplatformslikeJelastic,GoogleCloudPlatform,AWSElasticBeanstalk,Joyentandothers. Releases[edit] Release[68] Status Codename Releasedate Maintenanceend Oldversion,nolongermaintained:0.10.x Oldversion,nolongermaintained:End-of-Life 2013-03-11 2016-10-31 Oldversion,nolongermaintained:0.12.x Oldversion,nolongermaintained:End-of-Life 2015-02-06 2016-12-31 Oldversion,nolongermaintained:4.x Oldversion,nolongermaintained:End-of-Life Argon[69] 2015-09-08 2018-04-30 Oldversion,nolongermaintained:5.x Oldversion,nolongermaintained:End-of-Life 2015-10-29 2016-06-30 Oldversion,nolongermaintained:6.x Oldversion,nolongermaintained:End-of-Life Boron[69] 2016-04-26 2019-04-30 Oldversion,nolongermaintained:7.x Oldversion,nolongermaintained:End-of-Life 2016-10-25 2017-06-30 Oldversion,nolongermaintained:8.x Oldversion,nolongermaintained:End-of-Life Carbon[69] 2017-05-30 2019-12-31 Oldversion,nolongermaintained:9.x Oldversion,nolongermaintained:End-of-Life 2017-10-01 2018-06-30 Oldversion,nolongermaintained:10.x Oldversion,nolongermaintained:End-of-Life Dubnium[69] 2018-04-24 2021-04-30 Oldversion,nolongermaintained:11.x Oldversion,nolongermaintained:End-of-Life 2018-10-23 2019-06-01 Oldversion,nolongermaintained:12.x Oldversion,nolongermaintained:End-of-Life Erbium[69] 2019-04-23 2022-04-30 Oldversion,nolongermaintained:13.x Oldversion,nolongermaintained:End-of-Life 2019-10-22 2020-06-01 Olderversion,yetstillmaintained:14.x Olderversion,yetstillmaintained:MaintenanceLTS Fermium[69] 2020-04-21 2023-04-30 Oldversion,nolongermaintained:15.x Oldversion,nolongermaintained:End-of-Life 2020-10-20 2021-06-01 Olderversion,yetstillmaintained:16.x Olderversion,yetstillmaintained:ActiveLTS Gallium[69] 2021-04-20 2023-09-11[70] Oldversion,nolongermaintained:17.x Oldversion,nolongermaintained:End-of-Life 2021-10-19 2022-06-01 Currentstableversion:18.x Currentstableversion:Current 2022-04-19 2025-04-30 Futurerelease:19.x Futurerelease:Planned 2022-10-18 2023-06-01 Futurerelease:20.x Futurerelease:Planned 2023-04-18 2026-04-30 Legend:OldversionOlderversion,stillmaintainedLatestversionLatestpreviewversionFuturerelease NewmajorreleasesofNode.jsarecutfromtheGitHubmasterbrancheverysixmonths.Even-numberedversionsarecutinAprilandodd-numberedversionsarecutinOctober.Whenanewoddversionisreleased,thepreviousevenversionundergoestransitiontoLongTermSupport(LTS),whichgivesthatversion18monthsofactivesupportfromthedateitisdesignatedLTS.Afterthese18monthsexpire,anLTSreleasereceivesanadditional12monthsofmaintenancesupport.Anactiveversionreceivesnon-breakingbackportsofchangesafewweeksaftertheylandinthecurrentrelease.Amaintenancereleasereceivesonlycriticalfixesanddocumentationupdates.[69]TheLTSWorkingGroupmanagesstrategyandpolicyincollaborationwiththeTechnicalSteeringCommitteeoftheNode.jsFoundation. Technicaldetails[edit] Node.jsisaJavaScriptruntimeenvironmentthatprocessesincomingrequestsinaloop,calledtheeventloop. Internals[edit] Node.jsuseslibuvunderthehoodtohandleasynchronousevents.LibuvisanabstractionlayerfornetworkandfilesystemfunctionalityonbothWindowsandPOSIX-basedsystemssuchasLinux,macOS,OSSonNonStop,andUnix. Threading[edit] Node.jsoperatesonasingle-threadeventloop,usingnon-blockingI/Ocalls,allowingittosupporttensofthousandsofconcurrentconnectionswithoutincurringthecostofthreadcontextswitching.[71]Thedesignofsharingasinglethreadamongalltherequeststhatusetheobserverpatternisintendedforbuildinghighlyconcurrentapplications,whereanyfunctionperformingI/Omustuseacallback.Toaccommodatethesingle-threadedeventloop,Node.jsusesthelibuvlibrary—which,inturn,usesafixed-sizedthreadpoolthathandlessomeofthenon-blockingasynchronousI/Ooperations.[7] AthreadpoolhandlestheexecutionofparalleltasksinNode.js.Themainthreadfunctioncallpoststaskstothesharedtaskqueue,whichthreadsinthethreadpoolpullandexecute.Inherentlynon-blockingsystemfunctionssuchasnetworkingtranslatetokernel-sidenon-blockingsockets,whileinherentlyblockingsystemfunctionssuchasfileI/Oruninablockingwayontheirownthreads.Whenathreadinthethreadpoolcompletesatask,itinformsthemainthreadofthis,whichinturn,wakesupandexecutestheregisteredcallback. Adownsideofthissingle-threadedapproachisthatNode.jsdoesnotallowverticalscalingbyincreasingthenumberofCPUcoresofthemachineitisrunningonwithoutusinganadditionalmodule,suchascluster,[51]StrongLoopProcessManager,[72]orpm2.[73]However,developerscanincreasethedefaultnumberofthreadsinthelibuvthreadpool.Theserveroperatingsystem(OS)islikelytodistributethesethreadsacrossmultiplecores.[74]Anotherproblemisthatlong-lastingcomputationsandotherCPU-boundtasksfreezetheentireevent-loopuntilcompletion.[citationneeded] V8[edit] Mainarticle:V8(JavaScriptengine) V8istheJavaScriptexecutionenginewhichwasinitiallybuiltforGoogleChrome.Itwasthenopen-sourcedbyGooglein2008.WritteninC++,V8compilesJavaScriptsourcecodetonativemachinecodeatruntime.[7]Asof2016,italsoincludesIgnition,abytecodeinterpreter. Packagemanagement[edit] npmisthepre-installedpackagemanagerfortheNode.jsserverplatform.ItinstallsNode.jsprogramsfromthenpmregistry,organizingtheinstallationandmanagementofthird-partyNode.jsprograms.PackagesinthenpmregistrycanrangefromsimplehelperlibrariessuchasLodashtotaskrunnerssuchasGrunt. UnifiedAPI[edit] Node.jscanbecombinedwithabrowserwithyoursite,adatabasethatsupportsJSONdata(suchasPostgres,[75]MongoDB,orCouchDB)andJSONforaunifiedJavaScriptdevelopmentstack.Withtheadaptationofwhatwereessentiallyserver-sidedevelopmentpatternssuchasMVC,MVP,MVVM,etc.,Node.jsallowsthereuseofthesamemodelandserviceinterfacebetweenclientsideandserverside. Eventloop[edit] Node.jsregisterswiththeoperatingsystemsotheOSnotifiesitofconnectionsandissuesacallback.WithintheNode.jsruntime,eachconnectionisasmallheapallocation.Traditionally,relativelyheavyweightOSprocessesorthreadshandledeachconnection.Node.jsusesaneventloopforscalability,insteadofprocessesorthreads.[76]Incontrasttootherevent-drivenservers,Node.js'seventloopdoesnotneedtobecalledexplicitly.Instead,callbacksaredefined,andtheserverautomaticallyenterstheeventloopattheendofthecallbackdefinition.Node.jsexitstheeventloopwhentherearenofurthercallbackstobeperformed. WebAssembly[edit] Node.jssupportsWebAssemblyandasofNode14hasexperimentalsupportofWASI,theWebAssemblySystemInterface. Nativebindings[edit] Node.jsprovidesawaytocreate"add-ons"viaaC-basedAPIcalledN-API,whichcanbeusedtoproduceloadable(importable).nodemodulesfromsourcecodewritteninC/C++.[77]ThemodulescanbedirectlyloadedintomemoryandexecutedfromwithinJSenvironmentassimpleCommonJSmodules.TheimplementationoftheN-APIreliesoninternalC/C++Node.jsandV8objectsrequiringuserstoimport(#include)Node.jsspecificheadersintotheirnativesourcecode.[77]AstheNode.jsplatformconstantlyevolves,theAPIcompatibilityissubjecttochanges,andmaysometimesgetbrokenbyanewversion(asaconsequence,moduleshavetobebuiltagainstspecificNode.jsversionstoworkcorrectly).Toaddresstheissue,thirdpartieshaveintroducedopen-sourcedС/С++wrappersontopoftheAPIthatpartiallyalleviatetheproblem.Theysimplifyinterfaces,butasasideeffecttheymayalsointroducecomplexitywhichmaintainershavetodealwith.EventhoughthecorefunctionalityofNode.jsresidesinaJavaScriptbuilt-inlibrary,moduleswritteninC++canbeusedtoenhancecapabilitiesandtoimproveperformanceofapplications. InordertoproducesuchmodulesoneneedstohaveanappropriateC++compilerandnecessaryheaders(thelatteraretypicallyshippedwithNode.jsitself):gcc,clangorMSVC++. TheN-APIissimilartoJavaNativeInterface. Projectgovernance[edit] In2015,variousbranchesofthegreaterNode.jscommunitybeganworkingunderthevendor-neutralNode.jsFoundation.Thestatedpurposeoftheorganization"istoenablewidespreadadoptionandhelpacceleratedevelopmentofNode.jsandotherrelatedmodulesthroughanopengovernancemodelthatencouragesparticipation,technicalcontribution,andaframeworkforlong-termstewardshipbyanecosysteminvestedinNode.js'success."[78] TheNode.jsFoundationTechnicalSteeringCommittee(TSC)isthetechnicalgoverningbodyoftheNode.jsFoundation.TheTSCisresponsibleforthecoreNode.jsrepoaswellasdependentandadjacentprojects.GenerallytheTSCdelegatestheadministrationoftheseprojectstoworkinggroupsorcommittees.[79]TheLTSgroupthatmanageslongtermsupportedreleasesisonesuchgroup.OthercurrentgroupsincludeWebsite,Streams,Build,Diagnostics,i18n,Evangelism,Docker,AddonAPI,Benchmarking,Post-mortem,Intl,Documentation,andTesting.[80] InAugust2017,athirdoftheTSCmembersresignedduetoadisputerelatedtotheproject'scodeofconduct.[81] Seealso[edit] Deno—aback-endruntimeenvironmentforJavaScriptandTypeScript,alsocreatedbyRyanDahl. References[edit] ^"node-v0.x-archiveonGitHub".GitHub.Retrieved2August2014. ^https://github.com/nodejs/node/releases/tag/v18.9.1. ^ab"nodejs/node".GitHub.13April2022. ^"node/LICENSEatmaster".GitHub.Node.jsFoundation.17September2018.Retrieved17September2018. ^"TheMITLicense".OpenSourceInitiative.17September2018.Retrieved17September2018. ^gcuomo(24October2013)."JavaScriptEverywhereandtheThreeAmigos(IntothewildBLUEyonder!)".www.ibm.com.Retrieved24October2013. ^abcLaurentOrsini(7November2013)."WhatYouNeedToKnowAboutNode.js".readwrite.com.Retrieved6February2022. ^"Node.jsFoundation-Node.js".nodejs.org.Retrieved4July2015. ^"LinuxFoundationCollaborativeProjects".linuxfoundation.org.4July2015.Retrieved4July2015. ^WhyGoDaddy'sNodejitsudealisgreatforNode.js,VentureBeat,10February2015 ^Geitgey,Adam(30October2013)."I-Tier:DismantlingtheMonoliths".Groupon.Archivedfromtheoriginalon10September2015.Retrieved30April2014. ^"IBMBluemix".IBM.Retrieved4July2015. ^"You'llneverbelievehowLinkedInbuiltitsnewiPadapp".VentureBeat.2May2012.Retrieved10May2012. ^"Blazingfastnode.js:10performancetipsfromLinkedInMobile".Retrieved7April2015. ^Baxter-Reynolds,Matthew(9November2011)."Here'swhyyoushouldbehappythatMicrosoftisembracingNode.js".TheGuardian.London.Retrieved10May2012. ^"WebMatrix-FrontEndWebDeveloperstakenote(ASP.NET,PHP,node.jsandmore)".Retrieved2August2014. ^Node.jsinFlames19November2014 ^"ClashoftheTitans:ReleasingtheKraken,NodeJS@paypal".fluentconf.com.28May2013.Archivedfromtheoriginalon15December2021.Retrieved11September2013. ^"AllsuchcompaniesandtheirproductsinwhichNode.jsisused".GitHub.Retrieved2August2014. ^"SAPAppBuilder".SAP.10March2014.Archivedfromtheoriginalon12February2014.Retrieved10October2018. ^"WhyWalmartisusingNode.js".VentureBeat.24January2012.Retrieved10May2012. ^"WhyYouReallyNeed(A)node.jsdevelopmentservices".codebrahma.10January2018.Retrieved10January2018. ^"DeployaNode.jsWebApp-LaunchandrunahighlyavailableNode.jswebapplicationonAWS".amazon.com.Retrieved3October2020. ^"AboutNode.js,andwhyyoushouldaddNode.jstoyourskillset?".Training.com.Training.com.11September2016.Retrieved23October2016. ^Staff,CNETNews(15October1996)."Netscapeopensintranetattack".CNET.Retrieved20April2017. ^RyanDahl(9November2010)."JoyentandNode".GoogleGroups.Retrieved5February2015. ^Garbar,Dzmitry."PHP7vsNode.js?TheyCanBePartners,NotCompetitorsForaDeveloper!".belitsoft.com.Retrieved21December2016. ^abcdSamsTeachYourselfNode.jsin24Hours,SamsPublishing,05-Sep-2012 ^Ubl,Malte(9September2009)."JSConf.eu2009,Berlin,Germany".www.jsconf.eu.Retrieved9September2009. ^"RyanDahl:OriginalNode.jspresentation".Archivedfromtheoriginalon15December2021–viawww.youtube.com. ^abcdefghiProfessionalNode.js:BuildingJavaScriptBasedScalableSoftware,JohnWiley&Sons,01-Oct-2012 ^"Earliestreleasesofnpm".GitHub.Retrieved27July2016. ^Ryandahl(23June2011)."PortingNodetoWindowsWithMicrosoft'sHelp".nodejs.org.Retrieved17April2016. ^Dahl,Ryan."Newgatekeeper".Retrieved26October2013. ^Schlueter,Isaac(15January2014)."TheNextPhaseofNode.js".Retrieved21January2014. ^Krill,Paul(4December2014)."Whyio.jsDecidedtoForkNode.js".JavaWorld.Retrieved15December2014. ^Q&A:Whyio.jsdecidedtoforkNode.js,InfoWorldTechWatch ^BenNoordhuis(12November2014)."Issue3692:functionsuddenlybecomesundefined".V8JavaScriptEngineIssues.Retrieved2February2015. ^Mikeal,Rogers(28January2015)."Stateofio.js".Retrieved2February2015. ^"Node.jsFoundationAdvancesCommunityCollaboration,AnnouncesNewMembersandRatifiedTechnicalGovernance".Archivedfromtheoriginalon24June2015.Retrieved4July2015. ^"Node.jsFoundationCombinesNode.jsandio.jsIntoSingleCodebaseinNewRelease".nodejs.org.14September2015.Retrieved28January2016. ^"io.jsandNode.jsmerge".medium.com.19May2015.Retrieved27June2015. ^Io.js,JavaScriptI/O,"io.jshasmergedwiththeNode.jsprojectagain.Therewon'tbeanyfurtherio.jsreleases.Allofthefeaturesinio.jsareavailableinNode.jsv4andabove." ^"PreviousReleases".Node.js. ^abcNode.jsforPHPDevelopers,O'ReillyMedia,Inc.,2013 ^abcNode.jsEssentials,PacktPublishing,10-Nov-2015 ^SmashingNode.js:JavaScriptEverywhere,JohnWiley&Sons,14-Aug-2012 ^Modules,NodejsWebsite ^"ListoflanguagesthatcompiletoJS".Github. ^CoffeeScriptonNode.js.O'ReillyMedia,Inc.15April2013.ISBN 9781449316846.Retrieved17May2015. ^ab"Node.js'sclustermodule".nodejs.org.Retrieved19October2017. ^"Node.js'schild_processmodule".nodejs.org.Retrieved19October2017. ^Foundation,Nodejs."InstallingNode.jsviapackagemanager".Node.js.Retrieved19May2019. ^"bomBora-Node.jsforNonStop".infrasoft.com.au.Infrasoft.Retrieved14August2015. ^Express.jsGuide:TheComprehensiveBookonExpress.js,AzatMardan,28-May-2014 ^Edge.jsbridgesthegapbetweenNode.jsand.NET,TechRepublic,TonyPatton,1July2014 ^Node.js,WebStormsupportsintegrationwiththeNode.jsruntimeenvironment,WebStormHelp ^RunningandDebuggingNode.js,WebStormHelp ^"Node.jsToolsforVisualStudio".microsoft.com.Retrieved1February2016. ^soywiz/typescript-node-definitionsTypeScript'stypingsforsomepopularnode.jsmodules,GitHub ^DefinitelyTyped,GitHub ^"TherepositoryforhighqualityTypeScripttypedefinitions".definitelytyped.org.Archivedfromtheoriginalon3February2016. ^ImageBoard,ANode.js+Express+MongoDBapplicationbuiltusingTypeScriptontheserver,TypeScriptSamples ^Krill,Paul(10November2015)."Node.jstakescenterstageinNetBeans8.1".infoworld.com.InfoWorld.Retrieved10November2015. ^Nodeclipse,Enide--Node.JSdevelopmentinEclipse,NodeclipseWebsite ^HelloVisualStudioCode(withNodeJS),Channel9,Microsoft ^ Node.jsApplicationswithVSCode,VisualStudioCode ^"Releases".Node.js. ^abcdefgh"nodejs/Release".GitHub.Retrieved3May2018. ^BringingforwardtheEnd-of-LifeDateforNode.js16,Node.jsWebsite ^"Node.jsw/1Mconcurrentconnections!".caustik'sblog.19August2012. ^"StrongLoopProcessManager".strong-pm.io. ^"GitHub-Unitech/pm2:ProductionprocessmanagerforNode.jsapplicationswithabuilt-inloadbalancer".GitHub.12June2021. ^AleksanderKasiuk(22April2015)."Onproblemswiththreadsinnode.js-FutureProcessing". ^"PostgreSQL:Documentation:9.4:JSONTypes".www.postgresql.org.Retrieved20October2016. ^AboutNode.js,Node.jsWebsite ^ab"C++addons|Node.jsv14.12.0Documentation".nodejs.org.Retrieved26September2020. ^Foundation,Node.js."Node.jsFoundation|Node.js".nodejs.org.Retrieved8March2017. ^"nodejs/TSC".GitHub.Retrieved8March2017. ^Foundation,Node.js."WorkingGroups|Node.js".nodejs.org.Retrieved8March2017. ^Whittaker,Zack,Aftergovernancebreakdown,Node.jsleadersfightforitssurvival,ZDNet,25August2017 Furtherreading[edit] Hughes-Croucher,Tom;Wilson,Mike(April2012),UpandRunningwithNode.js,O'ReillyMedia,ISBN 978-1-4493-9858-3 Ornbo,George(September2012),SamsTeachYourselfNode.jsin24Hours,SAMSPublishing,ISBN 978-0-672-33595-2 Teixeira,Pedro(October2012),ProfessionalNode.js,JohnWiley&Sons,ISBN 978-1-118-22754-1 RandalL.SchwartzandAaronNewcomb(9January2013)."Episode237:Node.js".twit.tv/show/floss-weekly(Podcast).TWiT.tv.Eventoccursat1:08:13.Retrieved9January2013. Gackenheimer,Cory(October2013),Node.jsRecipes:AProblem-SolutionApproach,Apress,ISBN 978-1-4302-6058-5 Externallinks[edit] WikimediaCommonshasmediarelatedtoNode.js. Officialwebsite nodeonGitHub vteNode.jsPlatform Node.js NPM V8 CommonJS Frameworks MEAN MongoDB Express.js AngularJS/Angular MEEN(substitutedwithEmber.js) Backbone.js Meteor Sails.js(usesExpress.js) Next.js Libraries Lodash Underscore.js React.js Vue.js Languages JavaScript CoffeeScript TypeScript vteJavaScriptCodeanalysis ESLint JSHint JSLint Supersets JS++ Objective-J TypeScript Transpilers AtScript Babel ClojureScript CoffeeScript Dart Elm Emscripten GoogleClosureCompiler GoogleWebToolkit Haxe LiveScript Morfik Nim Opa PureScript Reason WebSharper Concepts Client-side JavaScriptlibrary JavaScriptsyntax Debuggers ChromeDevTools FirefoxInspector KomodoIDE MicrosoftEdgeDevTools OperaDevTools SafariWebInspector Docgenerators JSDoc Editors(comparison) Ace Cloud9IDE Atom CodeMirror Brackets LightTable PhpStorm Orion VisualStudio VisualStudioExpress VisualStudioCode VisualStudioTeamServices Vim Engines DOMsupport ListofECMAScriptengines Frameworks ComparisonofJavaScriptframeworks ListofJavaScriptlibraries Relatedtechnologies Ajax AssemblyScript asm.js CascadingStyleSheets DocumentObjectModel HTML HTML5 JSON WebAssembly WebAuthn Packagemanagers npm yarn Modulebundlers Webpack Server-side ActiveServerPages CommonJS Deno JSGI Node.js Wakanda Unittestingframeworks(list) Jasmine Jest Mocha QUnit People DouglasCrockford BrendanEich JohnResig AuthoritycontrolGeneral WorldCat(viaLibraryofCongress) Nationallibraries Germany Israel UnitedStates Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Node.js&oldid=1112762437" Categories:2009softwareFreesoftwareprogrammedinC++FreesoftwareprogrammedinJavaScriptJavaScriptlibrariesJoyentLinuxFoundationprojectsSoftwareusingtheMITlicenseHiddencategories:ArticleswithshortdescriptionShortdescriptionmatchesWikidataAllarticleswithunsourcedstatementsArticleswithunsourcedstatementsfromMarch2017CommonscategorylinkfromWikidataArticleswithGNDidentifiersArticleswithJ9UidentifiersArticleswithLCCNidentifiersArticleswithWorldCat-LCCNidentifiersUsedmydatesfromNovember2019 Navigationmenu Personaltools NotloggedinTalkContributionsCreateaccountLogin Namespaces ArticleTalk English Views ReadEditViewhistory More Search Navigation MainpageContentsCurrenteventsRandomarticleAboutWikipediaContactusDonate Contribute HelpLearntoeditCommunityportalRecentchangesUploadfile Tools WhatlinkshereRelatedchangesUploadfileSpecialpagesPermanentlinkPageinformationCitethispageWikidataitem Print/export DownloadasPDFPrintableversion Inotherprojects WikimediaCommonsWikibooks Languages العربيةAsturianuAzərbaycancaবাংলাBân-lâm-gúБеларускаяБългарскиCatalàČeštinaDanskDeutschEestiΕλληνικάEspañolEuskaraفارسیFrançais한국어Հայերենहिन्दीBahasaIndonesiaItalianoעבריתКыргызчаLatviešuLombardMagyarമലയാളംBahasaMelayuNederlands日本語NorskbokmålOʻzbekcha/ўзбекчаPolskiPortuguêsRomânăРусскийSimpleEnglishکوردیСрпски/srpskiSuomiSvenskaTürkçeУкраїнськаاردوTiếngViệt中文 Editlinks
延伸文章資訊
- 1Node.js Introduction - W3Schools
Node.js is an open source server environment; Node.js is free ; Node.js can generate dynamic page...
- 2Introduction to Node.js
Node.js is an open-source and cross-platform JavaScript runtime environment. It is a popular tool...
- 3Node.js - Introduction - Tutorialspoint
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast and scalable ...
- 4What Is Node.js and Why You Should Use It
Node.js is a single-threaded, open-source, cross-platform runtime environment for building fast a...
- 5Why The Hell Would I Use Node.js? A Case-by-Case Tutorial
As Wikipedia states: “Node.js is a packaged compilation of Google's V8 JavaScript engine, the lib...