Node.JS קורס: בניית אתר בסיסי עם node.js ועם Express

בניית אתר בסיסי עם node.js ועם Express

תרגום של מאמר מאת George Ornbo, ברשותו.
תורגם על ידי עמיחי היינס.

מה אנו עומדים לעשות
מדריך צעד אחרי צעד זה יפרט את השלבים השונים בהקמת אתר בסיסי בעזרת node.js ו- Express. מדריך זה מיועד למתחילים ב-node.js אחרי שקיבלתי שאלות רבות מחברים לגבי כתיבת אפליקציות בnode. אם אתה לא ברמת מתחילים, כנראה שלא תמצא ערך רב במאמר זה. נשתמש ב express, זו סביבת עבודה מצויינת ב-node שנכתבה על ידי TJ Holowaychuk הוא כותב ספריות עבור node.js כאילו היה 10 אנשים.
הנה קוד המקור של האתר שניצור.

הגדרות
קודם כל, צריך להגדיר את סביבת הפיתוח שלנו. אם אתה משתמש במק, הנה הסברים איך להגדיר את node.js ואת npm בסביבה זו.
אם אתה משתמש בלינוקס יש הרבה מאמרים בגוגל.
למשתמשי מיקרוסופט זה קצת יותר מורכב אך גם להם יש הסברים בגוגל.

דרישות מוקדמות
אחרי התקנה מוצלחת יש לך node.js וגם npm על המחשב. תוכל לבדוק את הגירסה שלהם על ידי כתיבה בשורת הפקודות:



כמובן שגירסאות אלו יכולות להשתנות בעתיד

יצירת אתר מבוסס Express
עדיין איתי? יופי, הספקנו כבר די הרבה! עכשיו בואו ניצור אתר מבוסס Express.
קודם כל, ניצור תיקיה לפרוייקט שלנו ונתקין את Express





זה יתקין את Express בתיקייה שיצרנו. עכשיו אפשר להתחיל עם השלד של האתר. נשתמש ב jade וב- stylus לתבניות ולעיצובים. ארחיב את ההסבר בהמשך.



jade הוא ברירת המחדל של express, את stylus צריך לבקש באופן ספציפי.



זהו, גמרנו עם ההכנות, עכשיו אפשר לאתחל את האפליקציה:



אתה אמור לראות express server listening on port 3000 ואם תגלוש ל http://localhost:3000 תראה את דף הפתיחה של Express.
עצור את התכנית על ידי לחיצה על ctrl+c.

שימוש ב Git
Git היא מערכת ניהול גירסאות ובסביבת node.js משתמשים בה המון. בייחוד ב-github. אם אתה לא מכיר את Git כדאי ללכת לשאול את Scott Chacon. הוא כתב רבות וארוכות על Git גם למתחילים וגם למתקדמים. למתחילים מומלץ לבדוק את Gitcasts ולנושאים יותר מתקדמים גלוש ל-ProGit. נשתמש ב Git לניהול גירסאות וגם להעלאת האפליקציה שלנו לשרת. אז בואו נכין את הסיפריוה שלנו ב-Git.



פיתוח אתרים ב node.js
בדרך כלל כשמפתחים אתרים ב node.js צריך לאתחל את האפליקציה כל פעם שמשנים אותה. למזלנו גאון ה Javascript הבריטי Remy Sharp פתר את הבעיה הזו עם nodemon. החבילה הקטנה הזו תטען מחדש את האפליקציה כל פעם שהיא משתנה כדי שלא תצטרך לעשות את זה לבד. אם השתמשת ב- Shotgun של רובי, זה די דומה. להתקנה, הרץ
ואז תוכל להריץ את האפליקציה עם
כתיבת HTML בסביבת Express
אקספרס אדישה לגבי שפת התבניות שנרצה להשתמש בה. שפת תבניות יכולה להיות נושא סוער לדיונים אך למאמר זה נשתמש ב jade. אם השתמשת בעבר ב haml זה יהיה לך מוכר. בדוגמה הזו נשתמש ב jade ליצירת תבנית כללית.



זו תבנית כללית שנוכל לחזור להשתמש בה שוב ושוב. השורה section#wrapper!= body לוקחת את התוכן מהעמוד שבשימוש באותו רגע. Express גם תומכת בהעברת משתנים לתבנית. במקרה זה אנו מעבירים משתנה לכותרת. שוב, למי שבא מסינטרה של רובי, זה צריך להיות מוכר. אם לא, אני ממליץ סוף דברלהציץ בתיעוד של אקספרס.

Css באקספרס
גם בנושא זה, אקספרס אדישה לגבי המנוע שתעדיף ליצירת העיצוב ב css. אפשר להשתמש גם בדפי css פשוטים אך בדוגמה זו נשתמש ב Stylus. זה דומה מאוד ל Sass ותומך במשתנים, פונקציות ועוד. אני מאוד אוהב את זה! הנה דוגמה מקובץ העיצוב שלנו


ניתוב באקספרס
ניתוב נעשה בדומה לסינטרה, מה שמאפשר יצירת ניתוב בסגנון RESTful.
בדוגמה הזו ניצור שלושה ניתובים ב app.js



בתיעוד של אקספרס יש דוגמאות נוספות.

העלאת האתר לאוויר
עד עתה פיתחנו אתר בסיסי ב node.js המשתמש ב express ואנחנו רוצים לארח אותו איפשהו.
יש כמה אפשרויות ארוח בשביל node.js. זה לא כל כך קשה לארח על שרת פרטי אך אני חושב שהכי קל ופשוט הוא Nodester. אם השתמשת בהרוקו אז תהליך ההעלאה לשרת דומה מאוד. השרות בחינם לאפליקציות קטנות.
ההוראות פשוטות ואחרי רישום קצר עם שם וסיסמה צריך לבחור שם לאפליקציה.
כדי להעלות את האפליקציה לשרת, צריך



האפליקציה תותקן על אחד השרתים בענן, באזור בעולם לפי בחירתככם, ותוכלו לגלוש לשם בכתובת של תת דומיין שתקבלו. משהו דומה ל-
http://<app_name>.eu01.aws.af.cm/
ניתן להוסיף גם דומיין אחר משלכם, על ידי רישומו במערכת ועדכון ה DNS של הדומיין שלכם.

סוף דבר
מאמר זה הראה איך ליצור אתר בסיסי בעזרת node.js ו- express. הובאו בו כמה נושאים מהעולם של node.js והודגמה העלאת אפליקציה לענן.
היתרונות של node כטכנולוגיה הם לא בבניית אתרי דפים סטטיים כמו זה. מומלץ לשוטט בספריות של node.js ולמצוא הדגמות של מה אפשרי בעזרתה. במיוחד בנושא של אפליקציות זמן אמת יש כמה דברים מעניינים מאוד. הספריה הראשונה לחקור בתחום הזה נקראת socket.io הרבה אפליקציות מעניינות מבוססות עליה.