A Node.js egy nyílt forráskódú és teljesen ingyenes szoftver, amely feljogosítja a webes fejlesztőket skálázható és gyors hálózati programok létrehozására. A Chrome JavaScript-futásidején alapulva a Node.js szoftver rendkívül hatékony és könnyű, különösen azért, mert nem blokkoló, eseményvezérelt I / O modellt használ.
A szerveroldali JavaScript-kód futtatásának legfelső platformja
A Node.js jelenleg a legmagasabb platform a kiszolgálóoldali JavaScript-kód futtatásához, amelyet olyan nagyvállalatoknál használnak, mint a Google, az eBay, a Yahoo, a LinkedIn, a Microsoft, a Cloud9 és még sok más.
Kötelező példa
A következő kód létrehoz egy egyszerű webszervert, amely minden kéréssel "Hello World" -al válaszol.
var http = require ('http');
http.createServer (függvény (req, res) {
res.writeHead (200, {'Tartalomtípus': 'text / plain'});
res.end ('Hello Worldn');
}). listen (1337, '127.0.0.1');
console.log ('A kiszolgáló http://127.0.0.1:1337/');
A HTTP-kiszolgáló futtatásához a fenti kódot a & ldquo; example.js & rdquo; (idézőjelek nélkül), és futtassa azt a terminál emulátor csomópont parancsával:
% node example.js
A http://127.0.0.1:1337/
webhelyen futó kiszolgálóTámogatott operációs rendszerek
A Node.js egy többplatformos alkalmazás, amelyet sikeresen teszteltek számos GNU / Linux disztribúció alatt, többek között Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware és mások mint a kereskedelmi Mac OS X és Microsoft Windows operációs rendszereken. Mind a 64 bites, mind a 32 bites utasításkészlet-architektúrák jelenleg támogatottak.
A motorháztető, a követelmények és a rendelkezésre állás alatt
Mint említettük, ez egy többplatformos szoftver. Lehet tölteni előre telepített telepítőként a Mac OS X, a GNU / Linux és a Microsoft Windows operációs rendszerekhez, valamint egy univerzális forrásarchívumot, amelyet szinte bármely olyan operációs rendszerre lehet fordítani és telepíteni, ahol a Python támogatott.
Újdonság ebben a kiadásban:
- konzol:
- A console.timeLog () módszer végrehajtásra került. # 21312
- deps:
- Frissítés libuv 1.22.0-re. # 21731
- Frissítés az ICU 62.1-re (Unicode 11, CLDR 33.1). # 21728
- http:
- Hozzáadta a támogatást az időtúllépés és az ügynökök beállításainak http.requesthez történő továbbításához. # 21204
- ellenőr:
- Megjeleníti az eredeti konzol API-t a ('ellenőrző') konzolon. # 21659
- napi
- Hozzáadott kísérleti támogatást a nagyszámú számok kezeléséhez. # 21226
- folyamat:
- A process.hrtime.bigint () módszer végrehajtásra került. # 21256
- Hozzáadta a --title parancssori argumentumot a folyamat címének indításakor. # 21477
- trace_events:
- Hozzáadta a folyamat_neve metaadatait. # 21477
- Hozzáadott új munkatársak
- codebytere - Shelley Vohr
- Az N-API teljes támogatása
- Az Easy-Travel-hibakeresésről egy új Visual Studio kódkiterjesztésen keresztül
- TTD támogatás generátorokhoz és aszinkron funkciókhoz
- Ellenőrző protokoll támogatása
- Megnövelt stabilitás és más változatos fejlesztések
Újdonság
Újdonság a verzióban:
- async_hooks:
- nyomkövetési események hozzáadása async_hooks (Andreas Madsen) # 15538
- szolgáltatói típusok hozzáadása a net szerverhez (Andreas Madsen) # 17157
- konzol:
- console.debug mostantól a felügyelőn kívül (Benjamin Zaslavsky) # 17033
- deps:
- frissítés libuv 1.18.0-ig (cjihrig) # 17282
- V8 patch 6.2.414.46-hoz (Myles Borins) # 17206
- modul:
- module.builtinModules visszaadja a beépített modulok listáját (Jon Moss) # 16386
- n-api:
- add segéd segédprogramot az eseményhurok lekéréséhez (Anna Henningsen) # 17109
- folyamat:
- A process.setUncaughtExceptionCaptureCallback most felhasználható a --abort-on-uncaught-exception (Anna Henningsen) # 17159
- A jelkezelő képes fogadni a kezelő által indított jelkódot. (Robert Rossmann) # 15606
- src:
- beágyazók mostantól a Node :: CreatePlatform használatával létrehozhatják a NodePlatform (Cheng Zhao) példányát # 16981
- stream:
- writeable.writableHighWaterMark és readable.readableHighWaterMark visszaadja azokat az értékeket, amelyeket a stream objektum a (Calvin Metcalf) # 12860
- Hozzáadott új munkatársak
- maclover7 Jon Moss
- guybedford Guy Bedford
- hashseed Yang Guo
A
Az újdonság a 9.2.0-es verzióban:
- crypto:
- Támogatás épület mind az 1.1.0, mind az 1.0.2 (David Benjamin) # 16130
- fs:
- A fs.realpathSync.native és az fs.realpath.native most már ki vannak téve (Ben Noordhuis) # 15776
- folyamat:
- tegye közzé a process.ppid (cjihrig) # 16839 kifejezést
Az újdonság a 8.5.0-s verzióban:
- építmények:
- A pillanatfelvételek mostantól újra engedélyezve vannak a V8 # 14875 mappában
- konzol:
- Minimális console.group () létrehozása. # 14910
- deps:
- frissítse libuv 1.14.1-re # 14866
- Frissítés az nghttp2-ről v1.25.0-re (# 14955)
- dns:
- Írd be szó szerint a dns.lookup () függvényt. Ha igaz, akkor a DNS-feloldó eredményei átadásra kerülnek az as-is-ban, anélkül, hogy a Node.js másképpen rendezi az IPv4-címeket IPv6-címek előtt. # 14731
- fs:
- add hozzá fs.copyFile és fs.copyFileSync, amely lehetővé teszi a fájlok hatékonyabb másolását. # 15034
- ellenőr:
- Engedélyezze az aszinkron veremnyomokat # 13870
- modul:
- Az ESM támogatásának hozzáadása. Ez jelenleg a --experimental-modules zászló mögött van, és megköveteli a .mjs kiterjesztést. csomópont --experimental-modules index.mjs # 14369
- napi
- implementálja az # 14365 ígéretet
- os:
- A CIDR-jelölés támogatása a hálózatiInterfaces () metódus kimenetéhez. # 14307
- perf_hooks:
- A Node.js. teljesítménymérési API kezdeti megvalósítása Ez ugyanaz a Performance Timing API, amelyet a modern böngészők hajtanak végre számos Node.js tulajdonsággal. A felhasználói időzítő () és az intézkedés () API-k végrehajtásra kerülnek. # 14680
- tls:
- több PFX a createSecureContext # 14793-ban
- Hozzáadott új munkatársak:
- BridgeAR - Ruben Bridgewater
Az újdonság a 8.3.0-es verzióban:
- A V8 motor 6.0-s verzióra frissült, amely jelentősen megváltoztatta a teljesítményprofilt.
- Egyéb fontos változások:
- DNS
- Független DNS-megoldó példányok már támogatottak, a támogatott kérések törlésével.
- N-API:
- A hibakezelés többszörös N-API-funkciója megváltozott, hogy támogassa a hibakódok kijelölését.
- REPL:
- A () függvény automatikus kiegészítésének támogatása javult.
- Utilities:
- A WHATWG kódolási szabványt (TextDecoder és TextEncoder) kísérleti jelleggel valósították meg.
Az újdonság a 8.1.3-as verzióban:
- Átalakítás A regisztrációs folyamattal rendelkező két regresszió ki lett javítva:
- A befejező eseményt minden esetben a hiba esemény után kell kiadni: [0a9e96e86c] # 13850
- Objektum módban az olvasható streamek mostantól újra meghatározhatják az undefinedet. [5840138e70] # 13760
Az újdonság a 8.1.2-es verzióban:
- A törölt folyamat.release tulajdonságok javítása a 8.1.1-ben, ami a natív bővítményeknek a Windowson kívüli platformokon történő lefordítását okozta. Ez egy javítás a Node.js build folyamatban, így nincsenek további kódkötelesek a 8.1.1-es tetején.
Az újdonság a 7.7.1-es verzióban:
- [c8e34b61f6] - build: hiányzó src / nyomkövető fejlécfájlok hozzáadása (Daniel Bevenius) # 10851
- [96f55f9e59] - src: mozgassa a trace_event.h be a belső fejlécbe (Ben Noordhuis) # 10959
- [30c80cbe6f] - src: fix TracingController tisztítás (Jason Ginchereau) # 10623
- [b89b2a7d36] - src: mindig nyomon követési vezérlőt állít be az ügynöknél (Matt Loring) # 10507
- [54e55e05ca] - teszt: a teszt-intl-no-icu-adatok robusztusabbá válnak (Michael Zasso) # 10992
- [7b253eb3ed] - teszt: a teszt-nyomkövetési esemény (Rich Trott) szigorúságának növelése # 11065
- [3dc4a5f1f4] - nyomkövetés: fix -Wunused-private-field warning (Santiago Gimeno) # 10416
- [8a918bf411] - nyomkövetés: javítás - figyelmeztetés (Santiago Gimeno) # 10416
Az újdonság a 7.4.0-es verzióban:
- puffer:
- A pufferelosztás teljesítményének javítása ~ 11% -kal. (Brian White) # 10443
- Javítja a Buffer.from () teljesítményét ~ 50% -kal. (Brian White) # 10443
- események: Az EventEmitter.once () teljesítményének javítása ~ 27% -kal. (Brian White) # 10445
- fs: Engedélyezi az Uint8Array átadását fs módszerekre, ahol a Buffers támogatott. (Anna Henningsen) # 10382
- http: A http kiszolgáló teljesítményének javítása ~ 7% -kal. (Brian White) # 6533
- npm: Frissítés v4.0.5-re (Kat Marchan) # 10330
Az újdonság a 7.2.1-es verzióban:
- puffer:
- A hívó puffer () újbóli elengedését visszaváltotta. (Anna Henningsen) # 9529
- Fix buffer.transcode () az egybájtos karakterkódoláshoz UCS2-re. (Anna Henningsen) # 9838
- ígéret: - a tréfa-figyelmeztetések mostantól a Promise figyelmeztetésekhez hasznos kötegeket hoznak létre. (Anna Henningsen) # 9525
- repl: Fix hiba, amely megakadályozza a generátorfunkciók helyes elemzését. (Teddy Katz) # 9852
- V8: A teljesítmény regressziójának jelentős mértékű rögzítése. (Franziska Hinkelmann) # 9730
Az újdonság a 7.2.0-s verzióban:
- crypto: A setAuthTag () és a setAAD dekódolási módjai ezt visszaadják.
- dns: Végrehajtotta {ttl: true} a resolve4 () és a resolve6 () függvényt.
- libuv: Frissítés v1.10.1-re
- Meghatározta a potenciális puffer túlcsordulást, amikor adatokat ír a Windows 10 konzolra. (CVE-2016-9551)
- folyamat: hozzáadott egy új külső tulajdonságot a memoryUsage () által visszaadott adatokhoz.
- tls: Javított memória szivárgás, amikor a TLS kapcsolat várakozási soraira vittek sorba, amelyeket a kézfogás során megsemmisítettek.
- V8 (dep): Frissítés v5.4.500.43-ra
- v8: A getHeapStatistics () által visszaküldött adatok három új mezőt tartalmaznak: malloced_memory, peak_malloced_memory és does_zap_garbage.
Az újdonság a 6.4.0-es verzióban:
- build: a zlib szimbólumok és további OpenSSL szimbólumok ki vannak téve a Windows platformokon. (Alex Hultman) # 7983 és # 7576
- child_process, cluster: A forrasztott gyermekprocesszorok és a fürt munkatársai támogatják a stdio konfigurációt. (Colin Ihrig) # 7811 és # 7838
- child_process: argv [0] most beállítható tetszőleges értékekre a létrehozott folyamatokban. (Pat Pannuto) # 7696
- fs: A fs.ReadStream mostantól elárulja az eddig olvasott bájtok számát. (Linus Unneback) # 7942
- repl: A REPL most támogatja a szerkesztő módot. (J Wesley herceg) # 7275
- util: inspect () most globálisan konfigurálható az util.inspect.defaultOptions használatával. (Roman Reiss) # 8013
A
Az újdonság a 6.3.0 verzióban:
- puffer: hozzáadva buffer.swap64 () a swap16 () & amp; swap32 (). (Zach Bjornson) # 7157
- build: Az Node.js megosztott könyvtárként történő építéséhez új konfigurációs beállításokat adtak hozzá. (Stefan Budeanu) # 6994
- Az opciók: - megosztott, --without-v8 platform & amp; --without-csomagban-v8.
- crypto: A gyökérigazolások frissítve lettek. (Ben Noordhuis) # 7363
- debugger: A kiszolgáló címe mostantól konfigurálható a --debug =: keresztül. (Ben Noordhuis) # 3316
- npm: Frissített npm a v3.10.3-hoz (Kat Marchan) # 7515 & amp; (Rebecca Turner) # 7410
- readline: Hozzáadta a prompt lehetőséget a readline konstruktorhoz. (Evan Lucas) # 7125
- repl / vm: a sigint / ctrl + c most kilép a végtelen ciklusokból a Node.js példány leállítása nélkül. (Anna Henningsen) # 6635
- src:
- Hozzáadott egy csomópont :: FreeEnvironment nyilvános C ++ API. (Cheng Zhao) # 3098
- Refactored require ("konstansok"), a konstansok közvetlenül elérhetők a megfelelő modulokból. (James M Snell) # 6534
- stream: Javított readable.read () teljesítmény akár 70% -kal. (Brian White) # 7077
- időzítők: a setImmediate () mostantól akár 150% -kal gyorsabb is lehet egyes helyzetekben. (András) # 6436
- util: Hozzáadott egy breakLength opciót a util.inspect () függvényhez annak ellenőrzésére, hogy az objektumok hogyan formázódnak egymásra. (cjirig) # 7499
- v8-inspector: Kísérleti támogatást adtak hozzá a Node.js hibakereséséhez az ellenőrző protokollon keresztül. (Ali Ijaz Sheikh) # 6792
- Megjegyzés: ez a szolgáltatás kísérleti jellegű, és módosítható vagy eltávolítható.
- Megpróbálhatja ezt a szolgáltatást a Node.js futtatásával a --inspect zászlóval.
Újdonságok a 6.0.0-s verzióban:
- puffer:
- Az új pufferkonstrukciókat # 4682 és # 5833 adták hozzá.
- A meglévő puffer () és a SlowBuffer () konstruktőrök elutasításra kerültek a # 4682 és # 5833 dokumentumokban.
- Korábban elavult puffer API-k eltávolítása # 5048, # 4594.
- Javított hibakezelés # 4514.
- A Buffer.prototype.lastIndexOf () metódus hozzáadva # 4846.
- Cluster:
- A dolgozók első argumentumként jelentek meg az "üzenet" # 5361 eseményen.
- A worker.exitedAfterDisconnect tulajdonság helyettesíti a worker.suicide # 3743 parancsot.
- Konzol:
- A (z) console.timeEnd () nevű ismeretlen címke meghívása folyamatban lévő figyelmeztetést bocsát ki, nem pedig a # 5901 dobást.
- Crypto:
- Javított hibakezelés # 3100, # 5611.
- Egyszerűsített tanúsítványtípus-összerendelések # 5382.
- Hatékonyabb szabályozás a FIPS üzemmódban # 5181.
- A pbkdf2 emésztési túlterhelés elutasítva # 4047.
- A függőségek:
- A megosztott c-ares build támogatás # 5775 újbóli bevezetése.
- V8 frissítve: 5.0.71.35 # 6372.
- DNS
- Adja hozzá a dns.resolvePtr () API-t a normál DNS PTR rekordok lekérdezéséhez # 4921.
- Domain:
- A verem törlése, ha nincs hibakezelő # 4659.
- Események:
- Az EventEmitter.prototype._events objektum nem örökölte az Object.prototype # 6092-et.
- A EventEmitter.prototype.prependListener () és EventEmitter.prototype.prependOnceListener () módszerek hozzá lettek adva # 6032.
- Fájlrendszer:
- Az fs.realpath () és az fs.realpathSync () metódusokat frissítettük, hogy hatékonyabb libuv alapú implementációt használjunk. Ez a változás magában foglalja a gyorsítótár argumentum eltávolítását és a módszer új hibákat dob # 3594.
- Az FS apis mostantól elfogadja és visszaadja az útvonalakat Buffers # 5616 -ként.
- A hibák kezelése és a típusellenőrzés javítása # 5616, # 5590, # 4518, # 3917.
- A fs.read string felülete elutasítva # 4525.
- HTTP:
- A "clientError" most használható egyéni hibák visszaküldésére a # 4557 HTTP-kiszolgálóról.
- Modul:
- A jelenlegi könyvtár prioritása a helyi lekérdezéseknek # 5689.
- A szimbolikus hivatkozások megmaradnak a # 5950-es modulok esetén.
- Nettó:
- A DNS-tanácsok többé nem implicit módon beállítják a # 6021-et.
- Javított hibakezelés és típusellenőrzés # 5981, # 5733, # 2904.
- OS X:
- MACOSX_DEPLOYMENT_TARGET legfeljebb 10,7 # 6402-et üt.
- Path:
- Javított típusellenőrzés # 5348.
- folyamat:
- A folyamat figyelmeztetések API # 4782 bemutatása.
- Kiválaszthatja a kivételt, ha nem működik tovább a NextTick # 3860-hoz.
- queryString:
- A querystring.parse () által visszaadott objektum nem örökölte az Object.prototype # 6055-et.
- Readline:
- A kulcsadatokat feltétel nélkül adják ki # 6024.
- A történetet mostantól le lehet tiltani # 6352.
- REPL:
- Hozzárendelés _ figyelmeztető üzenetet fog küldeni # 5535.
- Az Expresszek többé nem fejeződnek be, ha az eval nem sikerül # 6328.
- Időzítők:
- Korán nem sikerül, ha a visszahívás nem funkcionális # 4362.
- Streams:
- A null egy érvénytelen csomó, amelyet 6170 objektum módban írhatunk.
- TLS:
- Átnevezheti az 'clientError' -t a 'tlsClientError' kifejezésre # 4557.
- SHA1 a sessionIdContext # 3866-hoz használt.
- TTY:
- A korábban elavult setRawMode csomagot eltávolították # 2528.
- URL:
- A felhasználói név és a jelszó az url.resolve () függvénybe kerül, ha a gazda megváltoztatja a # 1480-at.
- Util:
- Változások a hiba objektum formázásához # 4582.
- Az util._extend () metódust elutasítottuk # 4903
- Az util.log () metódust elutasították # 6161.
- Windows:
- A Windows XP és Vista már nem támogatott # 5167.
- Zlib:
- Több fejlesztés történt a Zlib feldolgozásban # 5883 és # 5707.
A
Követelmények :
- Python
Hozzászólás nem található