Node.js

Software screenshot:
Node.js
Software ətraflı:
Version: 10.7.0 Yenil?nib
Tarixi Upload: 17 Aug 18
Geliştirici: Joyent, Inc.
Lisenziya: Pulsuz
Məşhurluq: 123

Rating: 4.0/5 (Total Votes: 1)

Node.js , geniş miqyaslı və sürətli şəbəkə proqramları yaratmaq üçün veb inkişafçıları təmin edən açıq mənbə və tamamilə pulsuz proqramdır. Chrome'un JavaScript iş vaxtına əsaslanaraq, Node.js proqramı xüsusilə qeyri-blokirovka edən, hadisə mərkəzli I / O modelini istifadə etdiyi üçün son dərəcə effektiv və yüngüldür.


Server tərəfində çalışan JavaScript kodunun üst platforması

Node.js hazırda Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 və daha çox kimi böyük şirkətlərdə istehsalda istifadə olunan server tərəfli JavaScript kodunu işləyən üst platformadır.


Məcburi nümunə

Aşağıdakı kod hər bir tələb üçün "Hello World" ilə cavab verən sadə bir web server yaradır.

var http = tələb ('http');

http.createServer (funksiya (req, res))

res.writeHead (200, {'İçerik Tipi:' mətn / düz '});

res.end ('Hello Worldn');

} qulaq asın (1337, '127.0.0.1');

console.log ('Server http://127.0.0.1:1337/');

HTTP serverini çalıştırmak üçün, yuxarıda verilen kodu "ldquo; example.js & rdquo; (quotes olmadan) və terminal emülatöründən node əmri ilə icra et:

% node example.js

http://127.0.0.1:1337/

-da çalışan server
Dəstəklənən əməliyyat sistemləri

Node.js Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware və s. kimi çoxsaylı GNU / Linux dağılımları əsasında uğurla sınaqdan keçirilmiş çox platformalı proqramdır. kommersiya Mac OS X və Microsoft Windows əməliyyat sistemləri kimi. Həm 64-bit, həm də 32-bit təlimat dəsti mimarisi hazırda dəstəklənir.


Başlıq altında, tələblər və mövcudluq

Qeyd edildiyi kimi, bu çox platformalı proqramdır. Mac OS X, GNU / Linux və Microsoft Windows əməliyyat sistemləri üçün əvvəlcədən quraşdırılmış yükləyicilər kimi Python dəstəkləndiyi demək olar ki, hər hansı bir əməliyyat sisteminə yığılmış və quraşdırıla bilən universal bir mənbə arxivi kimi yükləyə bilərsiniz.

Bu sürümdə yeni nədir :

  • konsol:
  • console.timeLog () metodu tətbiq edilmişdir. # 21312
  • deps:
  • libuv 1.22.0 yükseltin. # 21731
  • ICU 62.1-ə yükseltin (Unicode 11, CLDR 33.1). # 21728
  • http:
  • Hem zaman aşımı hem de ajan seçeneklerini http.request'e keçirmək üçün əlavə dəstək. # 21204
  • müfəttiş:
  • Orijinal konsol API tələb edir ('müfəttiş'). Konsol. # 21659
  • napi:
  • Bigint nömrələri ilə işləyən funksiyalar üçün eksperimental dəstək əlavə edildi. # 21226
  • proses:
  • Process.hrtime.bigint () metodu tətbiq edilmişdir. # 21256
  • Başlanğıcda prosesin başlığını təyin etmək üçün - satirik əmr satırı arqumentini əlavə etdi. # 21477
  • trace_events:
  • Əlavə process_name metadata. # 21477
  • Yeni əməkdaşlar əlavə edilib
  • codebytere - Shelley Vohr

N-API üçün tam dəstək

  • Yeni Visual Studio Kodu Extension vasitəsilə Time-Travel Debugging ilə asanlıqla başlayın
  • Generatorlar və async funksiyaları üçün TTD dəstəyi
  • Müfəttiş protokoluna dəstək
  • İstikrar və digər müxtəlif təkmilləşdirmələrin artırılması

Sürümdeki yeni :

  • async_hooks:
  • async_hooks (Andreas Madsen) # 15538
  • 'yə iz tədbirlərini əlavə edin
  • Net server (Andreas Madsen) # 17157 üçün provayder növlərini əlavə edin
  • konsol:
  • console.debug indi nəzarətçi (Benjamin Zaslavsky) # 17033 kənarda istifadə edilə bilər
  • deps:
  • libuv'u 1.18.0 (cihrig) # 17282'ye yükseltin
  • V8-dən 6.2.414.46 (Myles Borins) patch # 17206
  • modul:
  • module.builtinModules qurulmuş modulların siyahısını (Jon Moss) # 16386
  • n-api:
  • hadisə loopunu (Anna Henningsen) almaq üçün addons üçün köməkçi əlavə edin # 17109
  • proses:
  • process.setUncaughtExceptionCaptureCallback indi üçün davranışını fərdiləşdirmək üçün istifadə edilə bilər - on-uncaught-istisna (Anna Henningsen) # 17159
  • Bir siqnal işləyicisi işəgötürənə səbəb olan siqnal kodunu ala bilir. (Robert Rossmann) # 15606
  • src:
  • embedders indi istifadə edə bilər Node :: CreatePlatform NodePlatform (Cheng Zhao) nümunəsi yaratmaq üçün # 16981
  • stream:
  • yazılabilir.writableHighWaterMark və oxunabilir.readableHighWaterMark axın obyekti (Calvin Metcalf) ilə təsvir edilmiş dəyərləri qaytaracaqdır # 12860
  • Yeni əməkdaşlar əlavə edilib
  • maclover7 Jon Moss
  • guybedford Guy Bedford
  • hiyləgər Yang Guo

Yeni versiyası 9.2.0:

  • kripto:
  • Həm də 1.1.0 və 1.0.2 (David Benjamin) ilə dəstək binası # 16130
  • fs:
  • fs.realpathSync.native və fs.realpath.native artıq təsvir olunur (Ben Noordhuis) # 15776
  • proses:
  • process.ppid (cihrig) # 16839
  • ifşa olun

Sürüm 8.5.0'da yeni nə :

  • qur:
  • Snapshots indi # 14875 V8-də yenidən işlədilir
  • konsol:
  • Minimal console.group () tətbiq edin. # 14910
  • deps:
  • libuv'u 1.14.1 # 14866 səviyyəsinə yüksəltmək
  • nghttp2'yi v1.25.0 # 14955'e güncelleyin
  • dns:
  • dss.lookup () 'a verbatim seçimi əlavə edin. Doğru olduqda, DNS çözümleyicisinden alınan sonuçlar, Node.js başqa bir şekilde IPv6 adreslerinden önce IPv4 adresleri koyduğunda yeniden şekillendirilmeden-kimi aktarılır. # 14731
  • fs:
  • fs.copyFile və fs.copyFileSync fayllarını daha effektiv surətdə çıxarmaq üçün imkan verir. # 15034
  • müfəttiş:
  • Async yığın izlərini # 13870 et.
  • modul:
  • ESM üçün dəstək əlavə edin. Hal-hazırda - eksperimental modulların bayrağının arxasında və .mjs uzadılması tələb olunur. node - eksperimental modüller index.mjs # 14369
  • napi:
  • 14365 vədini yerinə yetirir
  • os:
  • CIDR qeydinə dəstək şəbəkənin İnterfaces () metoduna əlavə edin. # 14307
  • perf_hooks:
  • Node.js üçün Performans Zamanlama API'sinin ilk tətbiqi. Bu Node.js xüsusi xüsusiyyətləri ilə müasir brauzerlər tərəfindən həyata keçirilən eyni Performans Zamanlama API. User Timing mark () və measure () API'ları tətbiq olunur. # 14680
  • tls:
  • createSecureContext # 14793 bir neçə PFX
  • Yeni əməkdaşlar əlavə edildi:

  • BridgeAR - Ruben Bridgewater

Sürüm 8.3.0'da yeni nə :

  • V8 mühərriki əhəmiyyətli dərəcədə dəyişib performans profilinə malik 6.0 versiyasına yüksəldi.
  • Digər əhəmiyyətli dəyişikliklər:
  • DNS:
  • Müstəqil DNS qətnamə nümunələri müvafiq sorğuların ləğvi üçün dəstəklə indi dəstəklənir.
  • N-API:
  • Səhvlərin idarə edilməsi üçün çoxlu N-API funksiyaları təyin olunan səhv kodlarını dəstəkləmək üçün dəyişdirildi.
  • REPL:
  • Istədiyiniz () autocompletion dəstəyi təkmilləşdirilmişdir.
  • Kommunal xidmətlər:
  • WHATWG Kodlaşdırma Standardı (TextDecoder və TextEncoder) eksperimental xüsusiyyət olaraq tətbiq edilmişdir.

Yeni versiyası 8.1.3:

  • Stream Stream modulu ilə iki tənəzzül müəyyən edilib:
  • Səhv hadisədən sonra, fasilə hadisə həmişə həmişə buraxılacaq: [0a9e96e86c] # 13850
  • Nesne rejimində oxunan axınlar indi yenidən müəyyənləşdirilə bilməz. [5840138e70] # 13760

Yeni versiyası 8.1.2:

  • 8.1.1-də broken process.release xüsusiyyətləri Windows-dan başqa platformalarda doğma eklentləri tərtib etməməyə səbəb olur. Bu, Node.js quraşdırma prosesində düzəldilmişdir, beləliklə 8.1.1-də göstərilən əlavə kodlar yoxdur.

Sürüm 7.7.1'de yeni :

  • [c8e34b61f6] - qurmaq: eksik src / izleme başlığı faylları əlavə edin (Daniel Bevenius) # 10851
  • [96f55f9e59] - src: trace_event.h daxili başlığı daxil edin (Ben Noordhuis) # 10959
  • [30c80cbe6f] - src: fix TracingController təmizlənməsi (Jason Ginchereau) # 10623
  • [b89b2a7d36] - src: həmişə agentdə axtarış nəzarətçisini işə salın (Matt Loring) # 10507
  • [54e55e05ca] - test: test-intl-no-icu-data daha möhkəm olun (Michael Zasso) # 10992
  • [7b253eb3ed] - test: test-iz-tədbir (Zəngin Trott) üçün sərtliyini artırmaq # 11065
  • [3dc4a5f1f4] - izleme: düzeltme -Winused-private-field warning (Santiago Gimeno) # 10416
  • [8a918bf411] - izleme: düzeltme -Gönderici xəbərdarlıq (Santiago Gimeno) # 10416

7.4.0 versiyasında yeni :

  • tampon:
  • Bufer ayırmasının işlənməsini ~ 11% artırın. (Brian White) # 10443
  • Buffer.from () funksiyasını ~ 50% artırın. (Brian White) # 10443
  • hadisələr: EventEmitter.once () 'nın performansını ~ 27% artırın. (Brian White) # 10445
  • fs: Tamponların dəstəkləndiyi fs metodlarına Uint8Array keçməsinə icazə verin. (Anna Henningsen) # 10382
  • http: http serverinin performansını ~ 7% artırın. (Brian White) # 6533
  • npm: V4.0.5 (Kat Marchan) # 10330'a yükseltin

Yeni versiyası 7.2.1:

  • tampon:
  • Buffer () funksiyasını çağırmadan əvvəl işləməyin dayandırılması. (Anna Henningsen) # 9529
  • Sabit buffer.transcode (), bir baytlı karakter kodlaması üçün UCS2. (Anna Henningsen) # 9838
  • vəd: - xəbərdarlıq xəbərləri indi Promise xəbərdarlıqları üçün faydalı stacktraces istehsal edir. (Anna Henningsen) # 9525
  • replace: Jeneratör funksiyalarının düzgün ayrılmasını maneə törətmiş bir səhv bağladı. (Teddy Katz) # 9852
  • V8: Performans tənzimlənməsinin əhəmiyyətli bir vəziyyətini düzeltmiştir. (Franziska Hinkelmann) # 9730

7.2.0 sürümünde yeni :

  • kripto: Decipher metodları setAuthTag () və setAAD indi bunu qaytarır.
  • dns: resolve4 () və resolve6 () üçün tətbiq {ttl: true}.
  • libuv: v1.10.1'e yükseltin
  • Windows 10-da konsol üçün məlumat yazarkən potensial bir tampon daşınıb Sabit. (CVE-2016-9551)
  • prosesi: memoryUsage () tərəfindən verilən məlumatlara yeni bir xarici əmlak əlavə edilib.
  • tls: Yazışmalar əllə çatma zamanı məhv edilmiş TLS bağlantısında sıraya qoyulduğunda yaddaş sızıntısını sabitlədi.
  • V8 (dep): v5.4.500.43'ye yükseltin
  • v8: getHeapStatistics () tərəfindən verilən məlumatlar indi üç yeni sahəni əhatə edir: malloced_memory, peak_malloced_memory və does_zap_garbage.

Yeni versiyası 6.4.0:

  • build: zlib simvolları və əlavə OpenSSL simvolları artıq Windows platformalarında ifşa olunur. (Alex Hultman) # 7983 və # 7576
  • child_process, cluster: Forked uşaq prosesləri və qrup işçiləri indi stdio konfiqurasiya dəstəkləyir. (Colin Ihrig) # 7811 və # 7838
  • child_process: argv [0] indi spawned proseslərdə keyfi dəyərlərə təyin edilə bilər. (Pat Pannuto) # 7696
  • fs: fs.ReadStream artıq indiyə qədər oxuduğu baytların sayını ortaya qoyur. (Linus Unneback) # 7942
  • əvəz: REPL indi redaktor rejimini dəstəkləyir. (Prince J Wesley) # 7275
  • util: inspect () indi util.inspect.defaultOptions istifadə edərək, qlobal şəkildə konfiqurasiya edilə bilər. (Roman Reiss) # 8013

Sürüm 6.3.0'da yeni :

  • tampon: swap16 () & amp; əlavə etmək üçün əlavə buffer.swap64 () swap32 (). (Zach Bjornson) # 7157
  • qurmaq: Node.js faylını paylaşılan kitabxana kimi qurmaq üçün yeni konfiqurasiya variantları əlavə edildi. (Stefan Budeanu) # 6994
  • Seçimlər aşağıdakılardır: --shared, --without-v8-platform & amp;
  • kripto: Kök sertifikatları yeniləndi. (Ben Noordhuis) # 7363
  • hata ayıklayıcısı: Server ünvanı indi --debug =: vasitəsilə yapılandırılabilir. (Ben Noordhuis) # 3316
  • npm: Upgradeed npm to v3.10.3 (Kat Marchan) # 7515 & amp; (Rebecca Turner) # 7410
  • readline: Readline konstruktoruna tez seçimini əlavə etdi. (Evan Lucas) # 7125
  • replace / vm: sigint / ctrl + c indi Node.js nümunəsini dayandırmadan sonsuz döngələrdən çıxacaq. (Anna Henningsen) # 6635
  • src:
  • Bir node əlavə edildi: FreeEnvironment ictimai C ++ API. (Cheng Zhao) # 3098
  • Refactored tələb olunur ('sabitlər'), sabitlər müvafiq modullardan birbaşa mövcuddur. (James M Snell) # 6534
  • stream: Təkmilləşdirilmiş oxunaqlı.read () işarəsi 70% -ə qədər. (Brian White) # 7077
  • taymerlər: setImmediate () bəzi vəziyyətlərdə indi 150% daha sürətli. (Andras) # 6436
  • util: obyektlərin xətlər arasında formatlaşdırılmasını nəzarət etmək üçün util.inspect () 'a bir breakLength seçimi əlavə edildi. (cihrig) # 7499
  • v8-müfəttiş: Node.js-nun müfəttiş protokolu üzərində pozulması üçün sınaq dəstəyi əlavə edildi. (Əli Ijaz Şeyx) # 6792
  • Qeyd: Bu xüsusiyyət eksperimentaldır və dəyişdirilə və ya silinə bilər.
  • Bu funksiyanı Node.js işini - tokspekt bayrağı ilə idarə edə bilərsiniz.

Sürüm 6.0.0'da yeni :

  • Tampon:
  • Yeni Tampon konstruktorları # 4682 və # 5833 əlavə edildi.
  • Mövcud Tampon () və SlowBuffer () konstruktorları 4682 və 5833 saylı sənədlərdə qaldırıldı.
  • Öncədən etibarsız olan Tampon API'ları # 5048, # 4594 silindi.
  • Təkmilləşdirilmiş səhv # 4514.
  • Buffer.prototype.lastIndexOf () metodu # 4846 əlavə edildi.
  • Cluster:
  • İşçi, 5361 saylı 'mesaj' hadisəsində ilk arqument kimi yayıldı.
  • İşçi.exitedAfterDisconnect mülkiyyəti işçinin iş yerini əvəz edir. # 3743.
  • Konsol:
  • Bilinməyən bir etiket ilə konsolun çağırılması indi (#) 5901 nöqtəsinə atmaq əvəzinə bir proses xəbərdarlığı verir.
  • Kripto:
  • Təkmilləşdirilmiş səhv # 3100, # 5611.
  • Sadələşdirilmiş Sertifikat sinif bağlamaları # 5382.
  • FIPS rejimində # 5181 üzərində təkmilləşdirilmiş nəzarət.
  • pbkdf2 digest aşırı yükləmə # 4047 saylı qadağandır.
  • Depozitlər:
  • Paylaşılan c-ares dəstəyi # 5775 dəstəkləyin.
  • V8 5.0.71.35 # 6372 güncellendi.
  • DNS:
  • Düz DNS PTR qeydləri # 4921-i sorgulamak üçün dns.resolvePtr () API əlavə edin.
  • Domains:
  • Səhv işləyən # 4659.
  • Hadisələr:
  • EventEmitter.prototype._events obyekti artıq Object.prototype # 6092 dən devralır.
  • EventEmitter.prototype.prependListener () və EventEmitter.prototype.prependOnceListener () üsulları # 6032 əlavə edildi.
  • Fayl Sistemi:
  • fs.realpath () və fs.realpathSync () metodları daha effektiv bir libuv-based tətbiqdən istifadə etmək üçün yeniləndi. Bu dəyişiklik cache fərziyyəsinin aradan qaldırılması daxildir və metod yeni səhvlər ata bilər # 3594.
  • FS apis indi yolları Tamponlar # 5616 qəbul edə və geri ala bilər.
  • Səhvlərin idarə edilməsi və yoxlanılması təkmilləşdirilməsi # 5616, # 5590, # 4518, # 3917.
  • fs.read'un simli interfeysi # 4525-dən istifadə edilmir.
  • HTTP:
  • 'clientError' artıq bir HTTP server # 4557-dən xüsusi səhvləri qaytarmaq üçün istifadə edilə bilər.
  • Modullar:
  • Cari dizin artıq yerli axtarışlar üçün # 5689.
  • 5950 modul tələb edərkən simvolik bağlantılar qorunur.
  • Net:
  • DNS göstərişləri artıq örtülü olaraq # 6021 təyin etdi.
  • Təkmilləşdirilmiş səhvlərin idarə edilməsi və növü yoxlanılması # 5981, # 5733, # 2904.
  • OS X:
  • MACOSX_DEPLOYMENT_TARGET 10.7 # 6402-ə qədər vurulub.
  • Yol:
  • Təkmilləşdirilmiş tipli yoxlama # 5348.
  • Proses:
  • Proses xəbərdarlıqlarını API # 4782 təqdim edin.
  • NextTick # 3860'a keçməmiş halda istisna atın.
  • Sorgulama:
  • querystring.parse () tərəfindən döndürülen obyekt artık Object.prototype # 6055'den devralır.
  • Readline:
  • Açar məlumat şərtsiz olaraq # 6024 yayılır.
  • Tarix artıq açıq şəkildə # 6352 əlil ola bilər.
  • REPL:
  • Görevlendirme, 5535 saylı bir xəbərdarlıq yayacaq.
  • Rəqəmlər # 6328 uğursuz olduğunda ifadələr artıq tamamlanmayacaq.
  • Zamanlayıcılar:
  • Geri çağırma # 4362 funksiyası olmadığında erkən başla.
  • Akarsu:
  • null indi # 6170 obyekti rejimində yazmaq üçün etibarsız bir yığın.
  • TLS:
  • 'clientError' adını 'tlsClientError' ünvanına # 4557 yeniden adlandırın.
  • SHA1 sessionIdContext # 3866 üçün istifadə.
  • TTY:
  • Əvvəllər qaçılmaz setRawMode sarıcı çıxarıldı # 2528.
  • URL:
  • Host 1480 dəyişirsə, istifadəçi adı və şifrə url.resolve () tərəfindən salınacaq.
  • Util:
  • Hata obyekti biçimlendirme # 4582 dəyişiklikləri.
  • util._extend () metodu # 4903
  • istifadə edilməmişdir
  • Util.log () metodu # 6161-dir.
  • Windows:
  • Windows XP və Vista artıq dəstəklənmir # 5167.
  • Zlib:
  • Zlib emalına # 5883 və # 5707 birdən çox təkmilləşmə edilmişdir.

Koşullar :

  • Python

Oxşar proqram

ADP
ADP

17 Feb 15

R
R

17 Feb 15

Geliştirici digər proqram Joyent, Inc.

SmartOS
SmartOS

17 Aug 18

Şərh Node.js

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!