Node.js er en open source og helt gratis software, der giver webudviklere mulighed for at opbygge skalerbare og hurtige netværksprogrammer. Baseret på Chrome's JavaScript runtime, er Node.js-softwaren ekstremt effektiv og let, især fordi den bruger en ikke-blokerende, hændelsesdrevne I / O-model.
Den øverste platform til at køre JavaScript-kode på serversiden
Node.js betragtes for øjeblikket som den øverste platform til at køre JavaScript-kode på serversiden, der bruges til produktion i store virksomheder som Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 og mange flere.
Obligatorisk eksempel
Følgende kode vil oprette en simpel webserver, der reagerer med "Hello World" for hver anmodning.
var http = kræver ('http');
http.createServer (funktion (req, res) {
res.writeHead (200, {'Content-Type': 'text / plain'});
res.end ('Hello Worldn');
}). lyt (1337, '127.0.0.1');
console.log ('Server kører på http://127.0.0.1:1337/');
For at kunne køre HTTP-serveren skal du overgå koden til en fil kaldet & ldquo; example.js & rdquo; (uden citater) og udfør det med node-kommandoen fra en terminalemulator:
% node example.js
Server kører på http://127.0.0.1:1337/
Understøttede operativsystemer
Node.js er et multiplatformsprogram, der er blevet testet succesfuldt under en række GNU / Linux-distributioner, herunder Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware og andre som på de kommercielle Mac OS X og Microsoft Windows operativsystemer. Både 64-bit og 32-bit instruktion sæt arkitekturer understøttes på nuværende tidspunkt.
Under emhætten, krav og tilgængelighed
Som nævnt er dette en multi-platform software. Den kan downloades som forudinstallerede installationsprogrammer til Mac OS X-, GNU / Linux- og Microsoft Windows-operativsystemerne samt et universalt kildearkiv, som kan kompileres og installeres på stort set ethvert operativsystem, hvor Python understøttes.
Hvad er nyt i denne udgave:
- konsol:
- Metoden console.timeLog () er blevet implementeret. # 21312
- DEPS:
- Opgrader til libuv 1.22.0. # 21731
- Opgrader til ICU 62,1 (Unicode 11, CLDR 33.1). # 21.728
- http:
- Tilføjet support til at overføre både timeout og agent muligheder til http.request. # 21204
- inspektør:
- Udsæt den originale konsol API i krav ('inspektør'). # 21.659
- napi:
- Tilføjet eksperimentel support til funktioner der beskæftiger sig med bigint-numre. # 21226
- proces:
- Metoden process.hrtime.bigint () er blevet implementeret. # 21256
- Tilføjet kommandolinjebestemmelsen for at angive procestitel ved opstart. # 21477
- trace_events:
- Tilføjet procesnavn metadata. # 21477
- Tilføjede nye samarbejdspartnere
- codebytere - Shelley Vohr
Hvad er nyt i version 10.0.0:
- Fuld understøttelse af N-API
- Nem at komme i gang med Time-Travel Debugging via en ny Visual Studio Code Extension
- TTD-støtte til generatorer og async-funktioner
- Støtte til inspektørprotokol
- Øget stabilitet og andre forskellige forbedringer
Hvad er nyt i version:
- async_hooks:
- tilføj sporhændelser til async_hooks (Andreas Madsen) # 15538
- Tilføj providerstype til netserver (Andreas Madsen) # 17157
- konsol:
- console.debug kan nu bruges uden for inspektøren (Benjamin Zaslavsky) # 17033
- DEPS:
- opgrader libuv til 1.18.0 (cjihrig) # 17282
- patch V8 til 6.2.414.46 (Myles Borins) # 17206
- modul:
- module.builtinModules returnerer en liste over indbyggede moduler (Jon Moss) # 16386
- n-api:
- Tilføj hjælper til addons for at få arrangementsløkken (Anna Henningsen) # 17109
- proces:
- process.setUncaughtExceptionCaptureCallback kan nu bruges til at tilpasse adfærd til - undtagelsesvis undtagelse (Anna Henningsen) # 17159
- En signalhåndterer kan nu modtage signalkoden, der udløste handleren. (Robert Rossmann) # 15606
- src:
- embedders kan nu bruge Node :: CreatePlatform til at oprette en forekomst af NodePlatform (Cheng Zhao) # 16981
- strøm:
- writable.writableHighWaterMark og readable.readableHighWaterMark returnerer de værdier, som strømobjektet blev instantieret med (Calvin Metcalf) # 12860
- Tilføjede nye samarbejdspartnere
- Maclover7 Jon Moss
- guybedford Guy Bedford
- hashseed Yang Guo
Hvad er nyt i version 9.2.0:
- crypto:
- Støttebyggeri med både 1.1.0 og 1.0.2 (David Benjamin) # 16130
- fs:
- fs.realpathSync.native og fs.realpath.native er nu udsat (Ben Noordhuis) # 15776
- proces:
- afslør process.ppid (cjihrig) # 16839
Hvad er nyt i version 8.5.0:
- build:
- Snapshots er nu genaktiveret i V8 # 14875
- konsol:
- Implementér minimal konsol.gruppe (). # 14910
- DEPS:
- opgrader libuv til 1.14.1 # 14866
- opdater nghttp2 til v1.25.0 # 14955
- dns:
- Tilføj verbatim mulighed for dns.lookup (). Når det er sandt, sendes resultaterne fra DNS-resolveren som den er, uden omfordeling, som Node.js gør på anden måde, der placerer IPv4-adresser før IPv6-adresser. # 14731
- fs:
- Tilføj fs.copyFile og fs.copyFileSync, der giver mulighed for mere effektiv kopiering af filer. # 15034
- inspektør:
- Aktiver async stack spor # 13870
- modul:
- Tilføj support til ESM. Dette er for tiden bag - eksperimentelle moduler-flag og kræver .mjs-udvidelsen. node - eksperimentelle moduler index.mjs # 14369
- napi:
- gennemføre løfte nr. 14365
- OS:
- Tilføj støtte til CIDR notation til outputen af metoden networkInterfaces (). # 14307
- perf_hooks:
- En indledende implementering af Performance Timing API for Node.js. Dette er den samme Performance Timing API implementeret af moderne browsere med en række Node.js specifikke egenskaber. Bruger Timing mark () og measure () API'er er implementeret. # 14680
- TLS:
- flere PFX'er i createSecureContext # 14793
- Tilføjede nye samarbejdspartnere:
- BridgeAR - Ruben Bridgewater
Hvad er nyt i version 8.3.0:
- V8-motoren er blevet opgraderet til version 6.0, som har en væsentligt ændret præstationsprofil.
- Andre bemærkelsesværdige ændringer:
- DNS:
- Uafhængige DNS-resolver-instanser understøttes nu, med støtte til annullering af de tilsvarende anmodninger.
- N-API:
- Flere N-API-funktioner til fejlhåndtering er blevet ændret for at understøtte tildeling af fejlkoder.
- REPL:
- Autocompletion support for requirement () er blevet forbedret.
- Hjælpeprogrammer:
- WHATWG-kodningsstandarden (TextDecoder og TextEncoder) er blevet implementeret som en eksperimentel funktion.
Hvad er nyt i version 8.1.3:
- Stream To regressioner med stream-modulet er blevet rettet:
- Afslutningsbegivenheden vil nu altid blive udsendt efter fejlbegivenheden, hvis en udsendes: [0a9e96e86c] # 13850
- I objekttilstand kan læsbare strømme nu bruge udefineret igen. [5840138e70] # 13760
Hvad er nyt i version 8.1.2:
- Løs brudte process.release-egenskaber i 8.1.1, der forårsager manglende kompilering af native add-ons på andre platforme end Windows. Dette er en løsning i Node.js-byggeprocessen, så der er ingen ekstra kodeforpligtelser inkluderet på toppen af 8.1.1.
Hvad er nyt i version 7.7.1:
- [c8e34b61f6] - build: tilføj manglende src / tracing header-filer (Daniel Bevenius) # 10851
- [96f55f9e59] - src: Flyt trace_event.h med til intern header (Ben Noordhuis) # 10959
- [30c80cbe6f] - src: fix TracingController oprydning (Jason Ginchereau) # 10623
- [b89b2a7d36] - src: initialiser altid sporingscontrolleren i agent (Matt Loring) # 10507
- [54e55e05ca] - test: gøre test-intl-no-icu-data mere robust (Michael Zasso) # 10992
- [7b253eb3ed] - test: øge strengheden for testtrace-event (Rich Trott) # 11065
- [3dc4a5f1f4] - sporing: fix -Wunused-private-field warning (Santiago Gimeno) # 10416
- [8a918bf411] - sporing: fix -Warorder-advarsel (Santiago Gimeno) # 10416
Hvad er nyt i version 7.4.0:
- puffer:
- Forbedre udførelsen af bufferfordeling med ~ 11%. (Brian White) # 10443
- Forbedre udførelsen af Buffer.from () med ~ 50%. (Brian White) # 10443
- begivenheder: Forbedre effektiviteten af EventEmitter.once () med ~ 27%. (Brian White) # 10445
- fs: Tillad, at passere Uint8Array til fs metoder, hvor buffere understøttes. (Anna Henningsen) # 10382
- http: Forbedre ydeevnen for http-serveren med ~ 7%. (Brian White) # 6533
- npm: Opgrader til v4.0.5 (Kat Marchan) # 10330
Hvad er nyt i version 7.2.1:
- puffer:
- Gendannede runtime deprecation af opkald Buffer () uden ny. (Anna Henningsen) # 9529
- Fast buffer.transcode () for enkelt-byte tegnkoder til UCS2. (Anna Henningsen) # 9838
- løfte: --Trace-advarsler producerer nu brugbare stacktraces for Promise warnings. (Anna Henningsen) # 9525
- repl: Fixed a bug, der forhindrer korrekt parsering af generatorfunktioner. (Teddy Katz) # 9852
- V8: Fixed en betydelig forekomst af præstationsregression. (Franziska Hinkelmann) # 9730
Hvad er nyt i version 7.2.0:
- crypto: Dechifrer metoder setAuthTag () og setAAD returnerer nu dette.
- dns: Implementeret {ttl: true} for resolve4 () og resolve6 ().
- libuv: Opgrader til v1.10.1
- Fastgjort et potentielt bufferoverløb, når du skriver data til konsol på Windows 10. (CVE-2016-9551)
- proces: Tilføjet en ny ekstern egenskab til de data, der returneres af memoryUsage ().
- tls: Fixed en hukommelselækage, når der skrives, var køet på TLS-forbindelse, der blev ødelagt under håndtryk.
- V8 (dep): Opgrader til v5.4.500.43
- v8: Dataene returneres af getHeapStatistics () indeholder nu tre nye felter: malloced_memory, peak_malloced_memory og does_zap_garbage.
Hvad er nyt i version 6.4.0:
- build: zlib symboler og yderligere OpenSSL symboler er nu udsat for Windows platforme. (Alex Hultman) # 7983 og # 7576
- child_process, cluster: Forked child-processer og klyngearbejdere understøtter nu stdio-konfiguration. (Colin Ihrig) # 7811 og # 7838
- child_process: argv [0] kan nu indstilles til vilkårlig værdi i udbredte processer. (Pat Pannuto) # 7696
- fs: fs.ReadStream viser nu antallet af bytes, som den har læst hidtil. (Linus Unneback) # 7942
- repl: REPL understøtter nu editorens tilstand. (Prince J Wesley) # 7275
- util: inspect () kan nu konfigureres globalt ved hjælp af util.inspect.defaultOptions. (Roman Reiss) # 8013
Hvad er nyt i version 6.3.0:
- buffer: Tilføjet buffer.swap64 () for at supplere swap16 () & amp; swap32 (). (Zach Bjornson) # 7157
- build: Nye konfigurationsindstillinger er blevet tilføjet for at bygge Node.js som et delt bibliotek. (Stefan Budeanu) # 6994
- Indstillingerne er: --shared, --without-v8-platform & amp; uden hold-bundtet-v8.
- crypto: Rootcertifikater er blevet opdateret. (Ben Noordhuis) # 7363
- debugger: Serveradressen kan nu konfigureres via --debug = :. (Ben Noordhuis) # 3316
- npm: Opgraderet npm til v3.10.3 (Kat Marchan) # 7515 & amp; (Rebecca Turner) # 7410
- readline: Tilføjet den hurtige indstilling til læsekonstruktøren. (Evan Lucas) # 7125
- repl / vm: sigint / ctrl + c vil nu bryde ud af uendelige sløjfer uden at stoppe Node.js-forekomsten. (Anna Henningsen) # 6635
- src:
- Tilføjet en node :: FreeEmvironment offentlig C ++ API. (Cheng Zhao) # 3098
- Refactored requirement ('constants'), konstanter er nu tilgængelige direkte fra deres respektive moduler. (James M Snell) # 6534
- stream: Forbedret readable.read () ydeevne med op til 70%. (Brian White) # 7077
- timere: setImmediate () er nu op til 150% hurtigere i nogle situationer. (Andras) # 6436
- util: Tilføjet en breakLength indstilling til util.inspect () for at kontrollere, hvordan objekter er formateret på tværs af linjer. (cjihrig) # 7499
- v8-inspektør: Eksperimentel support er blevet tilføjet til debugging Node.js over inspektørprotokollen. (Ali Ijaz Sheikh) # 6792
- Bemærk: Denne funktion er eksperimentel, og den kan ændres eller fjernes.
- Du kan prøve denne funktion ved at køre Node.js med --inspect flag.
Hvad er nyt i version 6.0.0:
- Buffer:
- Nye Bufferkonstruktorer er blevet tilføjet # 4682 og # 5833.
- Eksisterende Buffer () og SlowBuffer () -konstruktorer er blevet udskrevet i docs # 4682 og # 5833.
- Tidligere afviklede buffer-API'er fjernes # 5048, # 4594.
- Forbedret fejlhåndtering # 4514.
- Metoden Buffer.prototype.lastIndexOf () er tilføjet # 4846.
- Cluster:
- Arbejder udgivet som første argument i 'besked' begivenhed # 5361.
- Personen worker.exitedAfterDisconnect erstatter worker.suicide # 3743.
- Konsol:
- Calling console.timeEnd () med en ukendt label udsender nu en proces advarsel frem for at kaste # 5901.
- Crypto:
- Forbedret fejlhåndtering # 3100, # 5611.
- Forenklet certificeringsklassebindinger # 5382.
- Forbedret kontrol over FIPS-tilstand # 5181.
- pbkdf2 fordøjes overbelastning er udskrevet # 4047.
- Afhængigheder:
- Genindfør delt c-ares build support # 5775.
- V8 opdateret til 5.0.71.35 # 6372.
- DNS:
- Tilføj dns.resolvePtr () API for at søge almindelige DNS PTR-poster # 4921.
- Domæner:
- Ryd stakken når der ikke er nogen fejlhåndterer # 4659.
- Begivenheder:
- Objektet EventEmitter.prototype._events arver ikke længere fra Object.prototype # 6092.
- EventEmitter.prototype.prependListener () og EventEmitter.prototype.prependOnceListener () metoderne er blevet tilføjet # 6032.
- Filsystem:
- Metoderne fs.realpath () og fs.realpathSync () er blevet opdateret for at bruge en mere effektiv libuv-baseret implementering. Denne ændring omfatter fjernelsen af cache-argumentet, og metoden kan smide nye fejl # 3594.
- FS apis kan nu acceptere og returnere stier som buffere # 5616.
- Fejlhåndtering og type kontrolforbedringer # 5616, # 5590, # 4518, # 3917.
- fs.read's strenggrænseflade er depreceret # 4525.
- HTTP:
- 'clientError' kan nu bruges til at returnere brugerdefinerede fejl fra en HTTP-server # 4557.
- Moduler:
- Nuværende mappe er nu prioriteret til lokale opslag # 5689.
- Symboliske links bevares, når der kræves moduler # 5950.
- Net:
- DNS-tip er ikke længere implicit sat # 6021.
- Forbedret fejlhåndtering og typekontrol # 5981, # 5733, # 2904.
- OS X:
- MACOSX_DEPLOYMENT_TARGET er blevet ramt op til 10,7 # 6402.
- Sti:
- Forbedret type kontrol # 5348.
- Proces:
- Indsæt procesadvarsler API # 4782.
- Kast undtagelse, når ikke-funktionen er overført til nextTick # 3860.
- QueryString:
- Objektet returneres af querystring.parse () ikke længere arver fra Object.prototype # 6055.
- Readline:
- Nøgleinformation udgives ubetinget # 6024.
- Historien kan nu være eksplicit deaktiveret # 6352.
- REPL:
- Opgave til _ udsender en advarsel # 5535.
- Udtryk vil ikke længere blive gennemført, når eval mislykkes # 6328.
- Timere:
- Mangler tidligt, når tilbagekald ikke er en funktion # 4362.
- Streams:
- null er nu en ugyldig klump til at skrive i objekttilstand # 6170.
- TLS:
- Omdøb 'clientError' til 'tlsClientError' # 4557.
- SHA1 bruges til sessionIdContext # 3866.
- TTY:
- Tidligere afskrevet setRawMode wrapper er fjernet # 2528.
- URL:
- Brugernavn og adgangskode vil blive droppet af url.resolve () hvis værten ændrer # 1480.
- Util:
- Ændringer i Fejlobjektformatering # 4582.
- Metoden util._extend () er blevet udskrevet # 4903
- Metoden util.log () er blevet udskrevet # 6161.
- Vinduer:
- Windows XP og Vista understøttes ikke længere # 5167.
- Zlib:
- Flere forbedringer er blevet foretaget til Zlib-behandling # 5883 og # 5707.
Krav :
- Python
Kommentarer ikke fundet