דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. אירוח שרת node.js בחינם

אירוח שרת node.js בחינם

מתוזמן נעוץ נעול הועבר תכנות
13 פוסטים 2 כותבים 925 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • שלום עולם 0ש מנותק
    שלום עולם 0ש מנותק
    שלום עולם 0
    כתב ב נערך לאחרונה על ידי שלום עולם 0
    #1

    יש לי קוד JS שאני רוצה להפעיל באתר באופן שהלוגיקה לא תהיה גלויה למשתמשים, כלומר כנראה עלי להריץ אותו בצד שרת כ-node.js.

    הומלץ לי כאן להשתמש ב-firebase, וכה אני מנסה לעשות; אלא שאיני מבין את צורת העבודה עם השירות הזה.

    פתחתי שם פרויקט. כך כתוב לי:

    bebd7140-1bdd-4511-bf30-3959c0bcdd60-image.png
    מה להתקין, איך והכי חשוב איפה להתקין?

    אני גם לא מבין האם ולמה אני צריך npm ושאר ירקות; כל מה שאני צריך הוא שהמשתמש יזין בדף קלט,
    הוא יישלח ב-AJAX לשרת והשרת יעבד אותו ע"י קוד ה-js שלי ויענה מה שיענה.

    תגובה 1 תגובה אחרונה
    0
    • חגיח מנותק
      חגיח מנותק
      חגי
      כתב ב נערך לאחרונה על ידי
      #2

      ה-npm פה ישמש אותך רק בשביל להתקין תוכנה, תכתוב בשורת פקודה npm i -g firebase-tools
      אחרי זה תלחץ על "הבא" ותראה מה הם עוד רוצים שתריץ בשביל לפרוס את הקוד שלך בfirebase.

      אם אתה רוצה שירות ענן שאתה יכול לערוך את הקוד ישירות עליו, אתה יכול להשתמש בdeno cloud
      https://deno.com/deploy

      שלום עולם 0ש תגובה 1 תגובה אחרונה
      0
      • שלום עולם 0ש מנותק
        שלום עולם 0ש מנותק
        שלום עולם 0
        השיב לחגי ב נערך לאחרונה על ידי
        #3

        @חגי כתב באירוח שרת node.js ב-firebase:

        תכתוב בשורת פקודה npm i -g firebase-tools

        היכן נמצאת שם שורת הפקודה?
        לא מתחיל להבין את הממשק.

        חגיח תגובה 1 תגובה אחרונה
        0
        • חגיח מנותק
          חגיח מנותק
          חגי
          השיב לשלום עולם 0 ב נערך לאחרונה על ידי חגי
          #4

          @שלום-עולם-0 השורת פקודה נמצאת במחשב שלך, אם אתה בווינדוס, אז אתה יכול לבחור בין cmd.exe לבין ps.exe

          אני עדיין סבור שיהיה לך יותר קל פשוט לכתוב את הקוד שלך ישירות בדפדפן ולראות אותו רץ.
          יצרתי פה playground פומבי <נמחק להערת אחד המשתמשים>
          אתה יכול לשחק עם זה ולראות את התוצאות בכתובת <נמחק להערת אחד המשתמשים> בצורה מיידית.

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

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

          עוד חשוב שתדע שאפשר להשתמש בספריות של npm גם בדינו, ע"ע בגוגל אם זה משנה לך.

          שלום עולם 0ש 2 תגובות תגובה אחרונה
          4
          • שלום עולם 0ש מנותק
            שלום עולם 0ש מנותק
            שלום עולם 0
            השיב לחגי ב נערך לאחרונה על ידי
            #5

            @חגי כתב באירוח שרת node.js ב-firebase:

            @שלום-עולם-0 השורת פקודה נמצאת במחשב שלך, אם אתה בווינדוס, אז אתה יכול לבחור בין cmd.exe לבין ps.exe

            חסר לי פה איזה פרט, ולכן אני לא מבין: למה כדי להפעיל שרת js בשירות ענני של גוגל אני צריך להתקין npm או כל דבר אחר במחשב שלי?

            חגיח תגובה 1 תגובה אחרונה
            0
            • חגיח מנותק
              חגיח מנותק
              חגי
              השיב לשלום עולם 0 ב נערך לאחרונה על ידי חגי
              #6

              @שלום-עולם-0 הפריסה של הקוד נעשית דרך שורת הפקודה, אתה מריץ פקודה על תיקיית הפרוייקט שלך. אבל שגוגל ידעו לאיפה לפרוס את הפרויקט, ולאמת אותך, הם צריכים שתתקין תוכנה שלהם שתדרוש ממך להתחבר למשתמש שלך דרך שורת הפקודה.
              בדינו אתה באמת לא צריך את כל זה, אבל זה יהיה מורכב להעלות לשם פרויקט מורכב, לצורך שלך זה נראה לי מתאים בדיוק.

              תגובה 1 תגובה אחרונה
              2
              • חגיח מנותק
                חגיח מנותק
                חגי
                כתב ב נערך לאחרונה על ידי חגי
                #7

                החלפתי את הקוד בplayground שישתמש בexpress במקום opine, בגלל שזאת ספרייה הרבה יותר פופולרית והסיכוי שתמצא עליה תיעוד הרבה יותר גבוה.
                <נמחק להערת אחד המשתמשים>

                תגובה 1 תגובה אחרונה
                0
                • שלום עולם 0ש מנותק
                  שלום עולם 0ש מנותק
                  שלום עולם 0
                  השיב לחגי ב נערך לאחרונה על ידי
                  #8

                  @חגי קוד שאכתוב ב-playground יהיה גלוי לכל העולם?

                  א"כ יצא שכרי בהפסדי.

                  חגיח תגובה 1 תגובה אחרונה
                  0
                  • חגיח מנותק
                    חגיח מנותק
                    חגי
                    השיב לשלום עולם 0 ב נערך לאחרונה על ידי
                    #9

                    @שלום-עולם-0 רק אם תבחר להפוך את הפרוייקט לפומבי, כמו שאני עשיתי למעלה.
                    בברירת מחדל זה מוסתר.

                    שלום עולם 0ש תגובה 1 תגובה אחרונה
                    1
                    • שלום עולם 0ש מנותק
                      שלום עולם 0ש מנותק
                      שלום עולם 0
                      השיב לחגי ב נערך לאחרונה על ידי שלום עולם 0
                      #10

                      @חגי אם כתוב שם קוד כזה:

                      Deno.serve((Request) => new Response("Hello World"));
                      

                      המשמעות היא שכל קריאה שתישלח לכתובת של אתר התוצאה, תיענה ב-"hello world?"

                      חגיח תגובה 1 תגובה אחרונה
                      0
                      • חגיח מנותק
                        חגיח מנותק
                        חגי
                        השיב לשלום עולם 0 ב נערך לאחרונה על ידי
                        #11

                        @שלום-עולם-0 כן.
                        בשביל משהו יותר רציני תעדיף כנראה להשתמש בספרייה שנותנת לך לנתב בקשות.
                        הנה דוגמה לניתוב בספריית express:

                        import express from "npm:express@4";
                        
                        const app = express();
                        app.get("/", function(req, res){
                          res.json({query: req.query, params: req.params});
                        });
                        
                        app.listen(80, console.info);
                        

                        מספר הפורט יכול להיות איזה מספר שאתה רוצה שיכול לשמש כמספר פורט תקין (במקרה הזה, 80)

                        הנה דוגמה לאותו דבר עם הספרייה opine

                        import { opine } from "https://deno.land/x/opine@2.3.3/mod.ts";
                        
                        const app = opine();
                        
                        app.get("/", function (req, res) {
                          res.json({query: req.query, params: req.params});
                        });
                        app.get("/:id", function (req, res) {
                          res.json({query: req.query, params: req.params});
                        });
                        
                        app.listen(223344, (a) => // כל מספר פורט יעבוד
                          console.log('test', a)
                        );
                        

                        רק שבמקרה הזה גם קיבלתי פרמטר id מהשורת כתובת.

                        התחברתי לענן שלי לנתיב /test?hello=world
                        וקיבלתי את הjson הבא:

                        {
                          "query": {
                            "hello": "world"
                          },
                          "params": {
                            "id": "test"
                          }
                        }
                        
                        שלום עולם 0ש תגובה 1 תגובה אחרונה
                        4
                        • שלום עולם 0ש מנותק
                          שלום עולם 0ש מנותק
                          שלום עולם 0
                          השיב לחגי ב נערך לאחרונה על ידי שלום עולם 0
                          #12

                          @חגי כתב באירוח שרת node.js בחינם:

                          @שלום-עולם-0 כן.

                          אני לא מצליח לקבל מהאתר את התגובה שאני אמור לקבל לפי הבנתי.

                          זה אמור לעבוד עם משלוח AJAX מהקונסולה שלי – אני אמור לקבל תגובה "hello world"?

                          @חגי כתב באירוח שרת node.js בחינם:

                          בשביל משהו יותר רציני תעדיף כנראה להשתמש בספרייה שנותנת לך לנתב בקשות.

                          באמת תודה על ההשקעה, אבל אני לא צריך משהו יותר רציני.

                          חגיח תגובה 1 תגובה אחרונה
                          0
                          • חגיח מנותק
                            חגיח מנותק
                            חגי
                            השיב לשלום עולם 0 ב נערך לאחרונה על ידי
                            #13

                            @שלום-עולם-0
                            הדוגמה שהבאתי מראה משהו יותר רציני, בדוגמה שאתה הבאת לא היה ניתוב בכלל, אני הבאתי דוגמה של שימוש בספרייה חיצונית שכנראה עונה על הצרכים שלך.

                            כנראה שאתה נתקל בשגיאת CORS, כשאתה פונה באמצעות AJAX\FETCH מהדפדפן לשרת שנמצא בכתובת השונה מהכתובת שלך, הדפדפן יחסום את התשובה אם לא שיש HEADERים מסויימים בתשובה, למזלנו רוב הספריות כבר מביאות לך פונקציה מוכנה בשביל זה:

                            import cors from "npm:cors";
                            
                            const app = express();
                            
                            app.use(cors())
                            

                            שורה 1 ו-5 זה מה שאתה צריך להוסיף בשביל שזה יעבוד.

                            363169fb-0023-41a1-9b2e-4e69d1ce32ac-image.png

                            תגובה 1 תגובה אחרונה
                            3

                            בא תתחבר לדף היומי!
                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

                            • התחברו או הירשמו כדי לחפש.
                            • פוסט ראשון
                              פוסט אחרון
                            0
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום