לדלג לתוכן

Node.js

מתוך ויקיפדיה, האנציקלופדיה החופשית
Node.js
מפתח Ryan Dahl, בפסקה זו רשומה אחת נוספת שטרם תורגמה עריכת הנתון בוויקינתונים
מחזור חיים 27 במאי 2009 – הווה (15 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 22.6.0 (6 באוגוסט 2024) עריכת הנתון בוויקינתונים
מערכת הפעלה לינוקס, מערכת הפעלה מסדרת BSD, Microsoft Windows, macOS עריכת הנתון בוויקינתונים
נכתבה בשפות C, C++, JavaScript עריכת הנתון בוויקינתונים
סוג רישיון רישיון MIT עריכת הנתון בוויקינתונים
קוד מקור https://github.com/nodejs/node עריכת הנתון בוויקינתונים
nodejs.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

Node.js היא סביבת ריצה (אנ') לשפת JavaScript שנכתבה ב-C++ ומבוססת על מנוע V8. היא תוכננה לכתיבת אפליקציות רשת סקיילאביליות כגון שרתי HTTP.[1]

Node.js מאפשרת לקוד JavaScript לרוץ מחוץ לדפדפן, ולכן ממשקי התכנות שהדפדפן חושף ל-JavaScript לא יהיו זמינים ב-Node.js (כמו ה-DOM). תוכנה Npm מוגדרת כברירת מחדל. הסביבה מספקת ממשקי תכנות המאפשרים לקוד להתממשק עם מערכת ההפעלה, כגון שימוש ב-שקעים (sockets), מה שמאפשר ל-JavaScript לשמש כשפת צד שרת. הגרסה הראשונה של התוכנה פותחה בשנת 2009.

קהילת המפתחים של Node.js התפצלה בשלהי שנת 2014 בשל חילוקי דעות על עתיד המערכת עם חברת Joyent שתחזקה את התוכנה, כאשר המפתחים הפורשים הקימו את מערכת io.js[2] אך התמזגו חזרה במאי 2015.

לNode.js יש אפשרות לקבל תוספים שהם נקראים "חבילות". את החבילות כל אחד יכול ליצור ולפרסם. לצורך פרסום והתקנת חבילות, Node.js תומכת בשני מנהלי החבילות הסטנדרטיים של JavaScript: מנהל החבילות npm ומנהל החבילות yarn.

גרסה גדולה חדשה של Node.js יוצאת כל חצי שנה ב־GitHub, גרסאות עם מספר זוגי יוצאות לרוב בחודש אפריל, וגרסאות עם מספר אי זוגי יוצאות בחודש אוקטובר. כאשר גרסה חדשה עם מספר אי זוגי יוצאת, הגרסה הקודמת עם המספר הזוגי הופכת להיות גרסה עם תמיכה פעילה למשך 18 חודשים, ולאחריהם עוד 12 חודשי תמיכת אחזקה, בהם יוצאות רק גרסאות עם תיקונים קריטיים ועדכוני תיעוד.[3]

גרסה מצב שם הגרסה תאריך פרסום תאריך סיום התמיכה
0.10.x לא פעילה 11.3.2013 31.10.2016
0.12.x לא פעילה 6.2.2015 31.12.2016
4.x לא פעילה Argon 8.9.2015 30.4.2018
5.x לא פעילה 29.10.2015 30.6.2016
6.x לא פעילה Boron 26.4.2016 30.4.2019
7.x לא פעילה 25.10.2016 30.6.2017
8.x לא פעילה Carbon 30.5.2017 31.12.2019
9.x לא פעילה 1.10.2017 30.6.2018
10.x לא פעילה Dubnium 24.4.2018 30.4.2021
11.x לא פעילה 23.10.2018 1.6.2019
12.x לא פעילה Erbium 23.4.2019 30.4.2022
13.x לא פעילה 22.10.2019 1.6.2020
14.x תמיכת אחזקה Fermium 21.4.2020 30.4.2023
15.x לא פעילה 20.10.2020 1.6.2021
16.x תמיכה פעילה Gallium 20.4.2021 30.4.2024
17.x לא פעילה 19.10.2021 1.6.2022
18.x נוכחית 19.4.2022 30.4.2025
19.x מתוכננת 18.10.2022 1.6.2023
20.x מתוכננת 18.4.2023 30.4.2026

דוגמאות קוד

[עריכת קוד מקור | עריכה]

שרת HTTP המדפיס הודעת Hello World לגולשים ב־Node.js:

const http = require('http');

http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
}).listen(8000);

console.log('Server running at http://127.0.0.1:8000/');

דוגמה נוספת לשרת TCP פשוט המאזין לפורט 7000 ומדפיס מה שנשלח אליו:

const net = require('net');

net.createServer(function (stream) {
  stream.write('hello\r\n');

  stream.on('end', function () {
    stream.end('goodbye\r\n');
 });

  stream.pipe(stream);
}).listen(7000);

דוגמה לעבודה עם קבצים באמצעות מודול fs:

var fs = require("fs");

fs.readFile('input.txt', function (err, data) {
   if (err) {
      return console.error(err);
   }
   console.log("Asynchronous read: " + data.toString());
});

קישורים חיצוניים

[עריכת קוד מקור | עריכה]
ויקישיתוף מדיה וקבצים בנושא Node.js בוויקישיתוף

הערות שוליים

[עריכת קוד מקור | עריכה]