Node.js
Node.js היא סביבת ריצה (אנ') לשפת JavaScript שנכתבה ב-C++ ומבוססת על מנוע V8. היא תוכננה לכתיבת אפליקציות רשת סקיילאביליות כגון שרתי HTTP.[1]
מפתח | Ryan Dahl, בפסקה זו רשומה אחת נוספת שטרם תורגמה |
---|---|
מחזור חיים | 27 במאי 2009 – הווה (15 שנים) |
גרסה אחרונה | 23.3.0 (20 בנובמבר 2024) |
מערכת הפעלה | לינוקס, מערכת הפעלה מסדרת BSD, Microsoft Windows, macOS |
נכתבה בשפות | C, C++, JavaScript |
סוג רישיון | רישיון MIT |
קוד מקור | https://github.com/nodejs/node |
nodejs | |
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
- Node.js, ברשת החברתית אקס (טוויטר)
- Node.js, סרטונים בערוץ היוטיוב