Node.js

Software kuvakaappaus:
Node.js
Ohjelmiston tiedot:
Versio: 10.7.0 Päivitetty
Lähetyksen päivämäärä: 17 Aug 18
Kehittäjä: Joyent, Inc.
Lupa: Vapaa
Suosio: 282

Rating: 4.0/5 (Total Votes: 1)

Node.js on avoin lähdekoodi ja täysin ilmainen ohjelmisto, joka mahdollistaa web-kehittäjien rakentaa skaalautuvia ja nopeita verkko-ohjelmia. Node.js-ohjelmisto perustuu Chromen JavaScript-suoritusaikaan, ja se on erittäin tehokas ja kevyt, varsinkin koska se käyttää ei-estävää, tapahtumavetoista I / O-mallia.


Yläasema palvelinpuolen JavaScript-koodin suorittamiseen

Node.js pidetään parhaillaan palvelimen puoleisen JavaScript-koodin ylläpitäjänä, jota käytetään tuotannossa suurissa yrityksissä kuten Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 ja paljon muuta.


Pakollinen esimerkki

Seuraava koodi luo yksinkertaisen WWW-palvelimen, joka vastaa "Hello World" -toiminnolla jokaisesta pyynnöstä.

var http = vaatia ('http');

http.createServer (funktio (req, res) {

res.writeHead (200, {'Content-Type': 'text / plain'});

res.end ('Hello Worldn');

}). kuuntele (1337, '127.0.0.1');

console.log ('Palvelin käynnissä osoitteessa http://127.0.0.1:1337/');

Jotta HTTP-palvelin voidaan suorittaa, sinun on yllä oleva koodi tiedostoon & ldquo; example.js & rdquo; (ilman lainausmerkkejä) ja suorita se solmupyynnön avulla pääteemulaattorilta:

% solmua example.js

Palvelin, joka toimii osoitteessa http://127.0.0.1:1337/


Tuetut käyttöjärjestelmät

Node.js on monen alustan sovellus, joka on testattu menestyksekkäästi lukuisissa GNU / Linux-jakeluissa, mukaan lukien Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware ja muut kuten kaupallisissa Mac OS X- ja Microsoft Windows -käyttöjärjestelmissä. Tällä hetkellä tuetaan sekä 64-bittisiä että 32-bittisiä käskyjoukon arkkitehtuureja.


Kannen alla, vaatimukset ja saatavuus

Kuten mainittiin, tämä on monen alustan ohjelmisto. Se voidaan ladata valmiiksi asennettuina asennusohjelmina Mac OS X-, GNU / Linux- ja Microsoft Windows -käyttöjärjestelmille sekä yleislähdetiedosto, joka voidaan koota ja asentaa lähes mihin tahansa käyttöjärjestelmään, johon Python on tuettu.

Uutta :

  • konsoli:
  • Console.timeLog () -menetelmä on toteutettu. # 21312
  • deps:
  • Päivitä versioon libuv 1.22.0. # 21731
  • Päivitä ICU 62.1 (Unicode 11, CLDR 33.1). # 21728
  • http:
  • Lisätty tuki aikakatkaisun ja agentin vaihtoehtojen siirtämiseen http.requestille. # 21204
  • tarkastaja:
  • Näytä alkuperäinen konsoli-sovellusliittymä require ('inspector'). # 21659
  • napi:
  • Lisätty kokeellinen tuki toiminnoille, jotka käsittelevät suuria numeroita. # 21226
  • prosessi:
  • Process.hrtime.bigint () -menetelmä on toteutettu. # 21256
  • Lisätty --title komentorivi argumentti asettaa prosessin otsikko käynnistyksen yhteydessä. # 21477
  • trace_events:
  • Lisätty prosessinimen metatiedot. # 21477
  • Lisätty uusia yhteistyökumppaneita
  • codebytere - Shelley Vohr

    • Täydellinen tuki N-API: lle

    Uutta

  • Helppo aloittaa Time-Travel -vianmääritystoiminnon avulla uuden Visual Studio Code Extensionin avulla
  • TTD-tuki generaattoreille ja asynkäyttötoiminnoille
  • Tuki Inspector-protokollalle
  • Lisääntynyt vakaus ja muut erilaiset parannukset

Uutta versiona:

  • async_hooks:
  • lisää jäljitystuotteet async_hooks (Andreas Madsen) # 15538
  • lisää palvelintyypit verkkopalvelimeen (Andreas Madsen) # 17157
  • konsoli:
  • console.debug voidaan nyt käyttää tarkastajan (Benjamin Zaslavsky) ulkopuolella # 17033
  • deps:
  • Päivitä libuv 1.18.0: ään (cjihrig) # 17282
  • korjaustiedosto V8 - 6.2.414.46 (Myles Borins) # 17206
  • moduuli:
  • module.builtinModules palauttaa luettelon sisäänrakennetuista moduuleista (Jon Moss) # 16386
  • n-api:
  • lisää avustaja addonille saadaksesi tapahtumasilmukan (Anna Henningsen) # 17109
  • prosessi:
  • prosessi.setUncaughtExceptionCaptureCallback voidaan nyt muokata käyttäytymiseen - "unlocked-exception" (Anna Henningsen) # 17159
  • Signaalinkäsittelylaite voi nyt vastaanottaa käsittelijän laukaisevan signaalikoodin. (Robert Rossmann) # 15606
  • src:
  • Sulautetut käyttäjät voivat nyt käyttää Node :: CreatePlatformia luomaan NodePlatform (Cheng Zhao) -esimerkin # 16981
  • stream:
  • writeable.writableHighWaterMark ja readable.readableHighWaterMark palauttavat arvot stream-objektin instantiated (Calvin Metcalf) # 12860
  • Lisätty uusia yhteistyökumppaneita
  • maclover7 Jon Moss
  • guybedford Guy Bedford
  • hashseed Yang Guo

    • crypto

Uutta versiossa 9.2.0

  • Tukirakennus sekä 1.1.0 että 1.0.2 (David Benjamin) # 16130
  • FS:
  • fs.realpathSync.native ja fs.realpath.native ovat nyt esillä (Ben Noordhuis) # 15776
  • prosessi:
  • näytä prosessi.ppid (cjihrig) # 16839
  • Uutta versio 8.5.0:

    • build:
    • Valokuvia on nyt otettu uudelleen käyttöön V8 # 14875
    • -kohdassa
    • konsoli:
    • Toteuta minimaalinen console.group (). # 14910
    • deps:
    • Päivitä libuv 1.14.1: ään # 14866
    • Päivitä nghttp2 v1.25.0 # 14955
    • dns:
    • Lisää todellinen vaihtoehto dns.lookup (): iin. Kun tosi on, DNS-resolverin tulokset siirretään as-is -muodossa ilman uudelleenjärjestelyä, jonka mukaan Node.js muussa tapauksessa tuo IPv4-osoitteet ennen IPv6-osoitteita. # 14731
    • FS:
    • Lisää fs.copyFile ja fs.copyFileSync, joka mahdollistaa tiedostojen tehokkaamman kopioinnin. # 15034
    • tarkastaja:
    • Ota käyttöön asynkolun jäljet ​​# 13870
    • moduuli:
    • Lisää tukea ESM: lle. Tämä on tällä hetkellä --experimental-modules-lippua takana ja vaatii .mjs-laajennuksen. solmu --experimental-modules index.mjs # 14369
    • napi:
    • toteuta lupaus # 14365
    • OS:
    • Lisää CIDR-merkinnän tuki verkonInterfaces () -menetelmään. # 14307
    • perf_hooks:
    • Suoritusajoitus-sovellusliittymän ensimmäinen toteutus Node.js. Tämä on sama Suoritusajoitus-sovellusliittymä, jota modernit selaimet käyttävät useilla Node.js-ominaisuuksilla. Käyttäjän ajoitusmerkki () ja mittaus () -sovellusliittymät toteutetaan. # 14680
    • TLS:
    • useita PFX-tiedostoja createSecureContext # 14793
    • Lisätty uusia yhteistyökumppaneita:
    • BridgeAR - Ruben Bridgewater

    Uutta versiossa 8.3.0:

    • V8-moottori on päivitetty versioon 6.0, jolla on merkittävästi muuttunut tehokkuusprofiili.
    • Muita merkittäviä muutoksia:
    • DNS:
    • Riippumattomat DNS-resolveritapahtumat tuetaan nyt, ja ne tukevat vastaavien pyyntöjen peruuttamista.
    • N-API:
    • Virheenkäsittelyn useat N-API-toiminnot on muutettu tukemaan virhekoodien osoittamista.
    • KORV:
    • Vaatimuksen () autentikoinnin tuki on parannettu.
    • Utilities:
    • WHATWG-koodausstandardi (TextDecoder ja TextEncoder) on toteutettu kokeelliseksi ominaisuudeksi.

    Uutta versiossa 8.1.3:

    • Stream Kaksi regressiota stream-moduulilla on korjattu:
    • Lopetustapahtuma lähetetään aina virhetapahtuman jälkeen, jos lähetetään: [0a9e96e86c] # 13850
    • Objektimuodossa luettavat tietovälineet voivat nyt käyttää määrittelemätöntä uudelleen. [5840138e70] # 13760

    Uutta versiossa 8.1.2:

    • Korjaa rikkoutuneet prosessin.tulostusominaisuudet kohdassa 8.1.1, mikä aiheuttaa epäonnistuneiden natiivien lisäosien kääntämisen muilla alustoilla kuin Windowsissa. Tämä on korjaus Node.js -rakentamisprosessissa, joten 8.1.1: n yläpuolella ei ole ylimääräisiä koodikomiteoita.

    Uutta versiossa 7.7.1:

    • [c8e34b61f6] - build: Lisää puuttuvat src / jäljitysotsikot (Daniel Bevenius) # 10851
    • [96f55f9e59] - src: siirrä trace_event.h sisällytettävä sisäiseen otsikkoon (Ben Noordhuis) # 10959
    • [30c80cbe6f] - src: korjaa TracingController cleanup (Jason Ginchereau) # 10623
    • [b89b2a7d36] - src: alusta aina jäljitysohjain agenttiin (Matt Loring) # 10507
    • [54e55e05ca] - testi: tee test-intl-no-icu-data vankempi (Michael Zasso) # 10992
    • [7b253eb3ed] - testi: lisää testausjäljen (Rich Trott) tarkkuutta # 11065
    • [3dc4a5f1f4] - jäljitys: korjaus -Wunused-private-field varoitus (Santiago Gimeno) # 10416
    • [8a918bf411] - jäljitys: korjaus -Wreorder-varoitus (Santiago Gimeno) # 10416

    Uutta versio 7.4.0:

    • puskuri:
    • Puskurijakelun tehokkuuden parantaminen ~ 11%: lla. (Brian White) # 10443
    • Paranna Buffer.from (): n suorituskykyä ~ 50%: lla. (Brian White) # 10443
    • tapahtumat: Parantaa EventEmitter.once (): n suorituskykyä ~ 27%: lla. (Brian White) # 10445
    • fs: Salli kulkea Uint8Array fs-menetelmille, joissa Buffereita tuetaan. (Anna Henningsen) # 10382
    • http: Parantaa http-palvelimen suorituskykyä ~ 7%: lla. (Brian White) # 6533
    • npm: Päivitä versioon v4.0.5 (Kat Marchan) # 10330

    Uutta versio 7.2.1:

    • puskuri:
    • Vastasi soittavan puskurin () käyttämättömän käytön hylkäämisen ilman uutta. (Anna Henningsen) # 9529
    • Kiinteä buffer.transcode () yksitavuisen merkkikoodauksen UCS2: lle. (Anna Henningsen) # 9838
    • lupaus: --Trace-varoitukset tuottavat nyt hyödyllisiä stacktraceja Promise-varoituksille. (Anna Henningsen) # 9525
    • repl: Korjattu virhe, joka estää generaattorifunktioiden oikean jäsentämisen. (Teddy Katz) # 9852
    • V8: Korjattu merkittävä suorituskyvyn regressio. (Franziska Hinkelmann) # 9730

    Uutta versio 7.2.0:

    • crypto: Palautusmenetelmät setAuthTag () ja setAAD nyt palauttavat tämän.
    • dns: Toteutettu {ttl: true} ratkaise4 () ja resolve6 ().
    • libuv: Päivitä versioon v1.10.1
    • Korjattu potentiaalinen puskurin ylivuoto kirjoitettaessa tietoja konsoliin Windows 10: ssä. (CVE-2016-9551)
    • prosessi: lisätään uusi ulkoinen ominaisuus muistiin tallennettuihin tietoihin ().
    • tls: Kiinteä muistivuoto, kun kirjoitukset oli jonossa TLS-yhteydellä, joka tuhoutui kättelyn aikana.
    • V8 (dep): Päivitä versioon v5.4.500.43
    • v8: getHeapStatistics (): n palauttamat tiedot sisältävät nyt kolme uutta kenttää: malloced_memory, peak_malloced_memory ja does_zap_garbage.

    Uutta versio 6.4.0:

    • rakentaa: zlib-symboleja ja muita OpenSSL-symbolia paljastetaan nyt Windows-alustoilla. (Alex Hultman) # 7983 ja # 7576
    • child_process, klusteri: Forked-lapsiprosessit ja klusterityöntekijät tukevat nyt stdio-kokoonpanoa. (Colin Ihrig) # 7811 ja # 7838
    • child_process: argv [0] voidaan nyt asettaa mielivaltaisille arvoille kuteissa. (Pat Pannuto) # 7696
    • fs: fs.ReadStream paljastaa nyt tähän mennessä lukemien tavujen määrän. (Linus Unneback) # 7942
    • repl: REPL tukee nyt editointitilaa. (Prince J Wesley) # 7275
    • util: inspect () voidaan nyt määrittää maailmanlaajuisesti käyttämällä util.inspect.defaultOptions-asetuksia. (Roman Reiss) # 8013

    Uutta versio 6.3.0:

    • puskurin: Lisätty buffer.swap64 () täydentää swap16 () & amp; swap32 (). (Zach Bjornson) # 7157
    • build: Uusia konfigurointivaihtoehtoja on lisätty rakentamaan Node.js jaettua kirjastoa. (Stefan Budeanu) # 6994
    • Vaihtoehdot ovat: - jaettu, - ilman v8-alustaa & amp; --without niputetaan-V8.
    • crypto: Root-todistukset on päivitetty. (Ben Noordhuis) # 7363
    • debuggeri: Palvelimen osoite on nyt konfiguroitavissa --debug = :. (Ben Noordhuis) # 3316
    • npm: Päivitetty npm v3.10.3 (Kat Marchan) # 7515 & amp; (Rebecca Turner) # 7410
    • readline: Lisätty nopea vaihtoehto readline-konstruktorille. (Evan Lucas) # 7125
    • repl / vm: sigint / ctrl + c katkeaa ääretön silmukoita pysäyttämättä Node.js-instanssia. (Anna Henningsen) # 6635
    • src:
    • Lisätty solmu :: FreeEnvironment julkinen C ++ API. (Cheng Zhao) # 3098
    • Refactored vaatii ("vakiot"), vakioita on nyt saatavilla suoraan niiden moduuleista. (James M Snell) # 6534
    • stream: Parannettu readable.read () -suorituskyky jopa 70%: lla. (Brian White) # 7077
    • ajastimet: setImmediate () on nyt jopa 150% nopeampi joissakin tilanteissa. (Andras) # 6436
    • util: Lisätty breakLength-vaihtoehto util.inspect () -toimintoon sen määrittämiseksi, miten objekteja muotoillaan rivien välille. (cgjig) # 7499
    • v8-tarkastaja: Kokeellinen tuki on lisätty Node.js: n virheenkorjaukseen tarkistusprotokollan kautta. (Ali Ijaz Sheikh) # 6792
    • Huomaa: tämä ominaisuus on kokeellinen ja sitä voidaan muuttaa tai poistaa.
    • Voit kokeilla tätä toimintoa suorittamalla Node.js: n --inspect lippu.

    Uutta versiossa 6.0.0:

    • Puskuri:
    • Uusia puskurin rakentajia on lisätty # 4682 ja # 5833.
    • Nykyiset puskurin () ja SlowBuffer () -rakentajat on hylätty asiakirjoissa # 4682 ja # 5833.
    • Aikaisemmin vanhentuneet puskurin sovellusliittymät poistetaan # 5048, # 4594.
    • Parannettu virheenkäsittely # 4514.
    • Buffer.prototype.lastIndexOf () -menetelmä on lisätty # 4846.
    • Cluster:
    • Työntekijä lähetetään ensimmäiseksi argumentiksi "viesti" -tapahtumassa # 5361.
    • Work.exitedAfterDisconnect-ominaisuus korvaa työntekijän.suicide # 3743.
    • Console:
    • Soittaminen console.timeEnd () tuntemattomalla etiketillä lähettää prosessiharjoituksen sijasta # 5901.
    • Crypto:
    • Parannettu virheenkäsittely # 3100, # 5611.
    • Yksinkertaistettu varmenteen luokat-sidos # 5382.
    • Parannettu FIPS-tilan valvonta # 5181.
    • pbkdf2 pilkko ylikuormitus on vanhentunut # 4047.
    • riippuvuuksien
    • Palauta yhteinen c-ares -rakennustuki # 5775.
    • V8 päivitetty versioon 5.0.71.35 # 6372.
    • DNS:
    • Lisää dns.resolvePtr () API kyselyyn pelkkää DNS PTR -tietoketta # 4921.
    • Verkkotunnukset:
    • Tyhjennä pino, kun virheenkäsittelijää ei ole # 4659.
    • Tapahtumat:
    • EventEmitter.prototype._events-objekti ei enää perinnäkään Object.prototype # 6092: sta.
    • EventEmitter.prototype.prependListener () ja EventEmitter.prototype.prependOnceListener () -menetelmät on lisätty # 6032.
    • Tiedostojärjestelmä:
    • Fs.realpath () ja fs.realpathSync () -menetelmät on päivitetty käyttämään tehokkaampaa libuv-pohjaista toteutusta. Tämä muutos sisältää kätkön argumentin poistamisen ja menetelmä voi heittää uusia virheitä # 3594.
    • FS apis voi nyt hyväksyä ja palauttaa polut Buffers # 5616: ksi.
    • Virheiden käsittely ja tyypin tarkistusparannukset # 5616, # 5590, # 4518, # 3917.
    • fs.readin merkkijono rajapinta on vanhentunut # 4525.
    • HTTP:
    • "ClientError" voidaan nyt käyttää palauttamaan mukautetut virheet HTTP-palvelimelta # 4557.
    • Moduulit:
    • Nykyinen hakemisto on nyt ensisijainen paikallisten haun # 5689 osalta.
    • Symboliset linkit säilyvät, kun vaaditaan moduuleja # 5950.
    • Net:
    • DNS-vihjeet eivät enää implisiittisesti asetu # 6021.
    • Parannettu virheenkäsittely ja tyyppitarkistus # 5981, # 5733, # 2904.
    • OS X:
    • MACOSX_DEPLOYMENT_TARGET on kasaantunut jopa 10,7 # 6402.
    • Polku:
    • Parannettu tyyppikysely # 5348.
    • Process:
    • Esitä prosessin varoituksia API # 4782.
    • Poimi, kun toiminto ei ole toiminnassa siirretty NextTick # 3860: een.
    • QueryString:
    • querystring.parse () palauttaa objektin ei enää peri Object.prototype # 6055: sta.
    • Readline:
    • Tärkeät tiedot lähetetään ehdoitta # 6024.
    • Historia voidaan nyt nimenomaan poistaa käytöstä # 6352.
    • KORV:
    • Tehtävä _ lähettää varoituksen # 5535.
    • Lausekkeet eivät enää täyty, kun eval epäonnistuu # 6328.
    • Timers:
    • Varo aikaisin, kun soittopyyntö ei ole toiminto # 4362.
    • Virrat:
    • null on nyt virheellinen komento, joka kirjoittaa objektimuotoon # 6170.
    • TLS:
    • Muuta 'clientError' uudelleen 'tlsClientError' # 4557.
    • SHA1 käytetään sessionIdContext # 3866: lle.
    • TTY:
    • Aiemmin vanhentunut setRawMode-kääre poistetaan # 2528.
    • URL:
    • Käyttäjänimi ja salasana pudotetaan url.resolve () jos isäntä muuttuu # 1480.
    • Util:
    • Muutokset virheisiin objektin muotoiluun # 4582.
    • Util._extend () -menetelmä on hylätty # 4903
    • Util.log () -menetelmä on hylätty # 6161.
    • Windows:
    • Windows XP ja Vista eivät ole enää tuettuja # 5167.
    • Zlib:
    • Useita parannuksia on tehty Zlib-käsittelyyn # 5883 ja # 5707.

    Vaatimukset

    • Python

    Vastaavia ohjelmistoja

    SWIG
    SWIG

    7 Mar 16

    GCL
    GCL

    3 Jun 15

    JRuby
    JRuby

    17 Feb 15

    Adobe Alchemy
    Adobe Alchemy

    3 Jun 15

    Muu ohjelmistojen kehittäjä Joyent, Inc.

    SmartOS
    SmartOS

    17 Aug 18

    Kommentit Node.js

    Kommentteja ei löytynyt
    Lisää kommentti
    Ota kuvia!