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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בייבוא ספריה לתוך פרוייקט בnodejs

עזרה בייבוא ספריה לתוך פרוייקט בnodejs

מתוזמן נעוץ נעול הועבר תכנות
26 פוסטים 4 כותבים 1.8k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #2

    אם כשאתה אומר nodejs אתה מתכוון כמשמעו שזה בד"כ לקבצי סקריפט של צד שרת, שמה הimport מייבא מודולים של המשתמש או מתיקיית הנוד המקומית או הגלובלית במחשב.
    בנוד אין טעינה מווב (זה אפשרי אבל זה משהו ממש לא נורמלי) אלא פשוט הכל נמצא בתיקיות האפליקציה. בשביל להתקין דבר שנמצא בnpm הכי קל זה להשתמש בו, במקרה הזה תריץ

    npm install iview --save
    

    ואז אתה מייבא עם 'import from 'iview.

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

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

      סליחה, על ההתערבות
      מדוע זה לא עובד?
      http://jsfiddle.net/tba7nnww/5/

      עריכה:
      קבל צורת הגשה.

      תגובה 1 תגובה אחרונה
      2
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב לdovid ב נערך לאחרונה על ידי chagold
        #4

        @dovid אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

        אם כשאתה אומר nodejs אתה מתכוון כמשמעו שזה בד"כ לקבצי סקריפט של צד שרת, שמה הimport מייבא מודולים של המשתמש או מתיקיית הנוד המקומית או הגלובלית במחשב.
        בנוד אין טעינה מווב (זה אפשרי אבל זה משהו ממש לא נורמלי) אלא פשוט הכל נמצא בתיקיות האפליקציה. בשביל להתקין דבר שנמצא בnpm הכי קל זה להשתמש בו, במקרה הזה תריץ

        npm install iview --save
        

        ואז אתה מייבא עם 'import from 'iview.

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

        עשיתי את 2 הפקודות, ובקימפול אני מקבל שגיאה

         ERROR in C:/xampp/htdocs/src/admin.js 3:12
         
         Module parse failed: Unexpected token (3:12)
         
         You may need an appropriate loader to handle this file type.
         
         | import './admin.scss'
         
         | import Vue from 'vue/dist/vue.js';
         
         > import from 'iview';
        

        ניסיתי גם

         import circle from 'iview';
        

        וזה אמנם לא עשה שגיאה אבל הגרף לא נצפה בדף.

        (import i-circle from 'iview'; בכלל עושה שגיאת קימפול כיון שהוא לא מזהה את המקף)

        תגובה 1 תגובה אחרונה
        0
        • chagoldC מנותק
          chagoldC מנותק
          chagold
          השיב לdovid ב נערך לאחרונה על ידי
          #5

          @dovid אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

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

          ניסיתי בצד לקוח, (אני מעריך שזה ES6). מדובר שם בכתיבה ב-scss.
          כבר היה שם טעינות לקבצים באמצעות תגית script ככה:

           script(src="admin.js")
          

          העתקתי את הקובץ לשרת ועשיתי אותו דבר, אבל הוא לא טוען אותו.
          כשהרצתי npm run build הוא בכלל לא הופיע ברשימת הקבצים שנטענים. (למרות שיש קבצים באותה תיקיה שנטענים.
          מה יכולה להיות הסיבה?
          תודה.

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

            אני לא מבין כלום. מה הכונה ניסיתי בצד לקוח? מה הקשר scss שזה שפת pre-css לJS? מה הכונה העתקתי לשרת, למקום נגיש ללקוח?
            בקשר לNPM, כל עוד לא התקנת אותו זה לא יופיע ואין טעם להתקין אותו אם השימוש הוא בצד לקוח.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

              @dovid הבנתי מהפוסט שלך שיש 2 אפשרויות להשתמש בספריה בפרוייקט, או להתקין עם הפקודה npm install iview --save ואח"כ לטעון עם 'import from 'iview. או (כאשר הנושא הוא סקריפט עבור שימוש בצד לקוח) לקרוא ישירות לספריה.
              וכיון שכאן זה מיועד עבור צד לקוח, אז טענתי את הספריה באפשרות השניה שנתת.

              scss - מה לעשות שככה קיבלתי את הפרוייקט...

              דף האינטרנט כתוב במבנה היררכיוני כזה בערך..

               doctype html
               
               head
               
                   title Dashboard
               
               
               
               body(class=login)
               
                   .login
               
                       .login_container
               
                           .login_logo Dashboard
               
                           .login-item
               
                               form#login_form.form.form-login(@submit.prevent="login")
               
                                   .form-field
              

              ובסופו ככה (כולל ההוספה שלי):

                       footer.admin__footer
               
                       
               
                   script(src="iview.min.js")
               
                   script(src="admin.js")
               
                   link(rel="stylesheet", href="admin.css")
              

              בהתחלה התקנתי את הספריה באמצעות הפקודה npm install iview --save הנ"ל אבל כשזה לא טען אז הוספתי את ספריית ה-JS הנ"ל לבין הקבצים שבשרת וקישרתי באמצעות התגית

                    script(src="iview.min.js") 
              

              כמו שבJSFIDDLE זה מקושר אליו. וכאמור זה לא עובד.
              תודה.

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

                טוב.
                הקובץ שקראת לו scss זה לכאורה Jade שזה Template Engine כלומר תבנית שמרונדרת ע"י צד השרת (במקרה זה כנראה expressjs) לHTML רגיל.
                התגית

                 script(src="admin.js")
                

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

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                    נכון.
                    יש שגיאה

                     GET http://localhost:3000/iview.min.js net::ERR_ABORTED 404 (Not Found)
                    

                    אבל לadmin.js שממוקם באותו תיקיה אין שגיאה

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

                      אם http://localhost:3000/iview.min.js מחזיר שגיאה, ו http://localhost:3000/admin.js לא, אז אחרי שוידאת פעם נוספת שהקובץ נקרא בדיוק iview.min.js אז צריך לבדוק מה קורה עם הניתוב של express והאם יש בפרוייקט תיקיה סטטית.
                      בקיצור תצטרך לעבור על הקוד ולראות האם יש app.static. וא"כ לאיזה תיקיה זה מוביל. ייתכן שיש נטו לקובץ admin.js ניתוב אינדבדואלי, אם כי זה די משונה.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                        @dovid אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                        כאורה Jade שזה Template Engine כלומר תבנ

                        2 הערות:

                        • בגרסאות האחרונות של NPM כבר לא צריך להוסיף את המילה --save כי זה נשמר בפרוייקט גם בלי זה.
                        • Node עד גירסה 10 (ואולי אף מעבר - לא בדקתי) לא תומך בImport. יש להשתמש בכתיב הבא:
                        const iview = require('iview');
                        

                        https://zvizvi.xyz

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

                          עשיתי, וזה עדיין לא עובד.
                          יצויין שה-vscode שלי טוען ש

                           [ts] 'iview' is declared but its value is never read.
                          

                          והוא באמת לא מופיע במסמך כי התגית היחידה היא i-circle .
                          יתכן שחסר עוד משהו חוץ מהייבוא הנ"ל?

                          dovidD תגובה 1 תגובה אחרונה
                          0
                          • dovidD מחובר
                            dovidD מחובר
                            dovid ניהול
                            השיב לchagold ב נערך לאחרונה על ידי
                            #14

                            @chagold אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                            עשיתי, וזה עדיין לא עובד.

                            מה עשית? @zvizvi דיבר אלי, עבורך זה לא רלוונטי. שוב, צד לקוח מתחיל ונגמר בhtml.

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                              ובצד לקוח אמורה/עלולה להיות בעיה אם שמתי נתיב גלובלי ככה:

                                   script(src="https://cdn.bootcss.com/iview/2.0.0-rc.9/iview.min.js")
                              

                              כי יש שגיאה זו:

                              0_1541021942034_f9680262-07b9-445a-be1f-7d848f2e3f8c-image.png

                              בHTML הוא מופיע נכון

                               <script src="https://cdn.bootcss.com/iview/2.0.0-rc.9/iview.min.js"></script>
                              
                              chagoldC תגובה 1 תגובה אחרונה
                              0
                              • dovidD מחובר
                                dovidD מחובר
                                dovid ניהול
                                כתב ב נערך לאחרונה על ידי
                                #16

                                הצורה הזו תקינה לגמרי, וגם השגיאה הזו מראה שהסקריפט נטען אלא שיש בו שגיאה.
                                אולי בגלל תלות חסרה ואולי להיפך - התנגשות עם משתנה גלבלי של ספריה אחרת.
                                בכל אופן את הדילמה איך לשים את הסקריפט פתרת עם הלינק החיצוני לCDN.
                                אולי תבחר גירסה שונה? למשל האחרונה:
                                https://cdn.bootcss.com/iview/3.1.4/iview.min.js

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                  @dovid אין שינוי☹

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • chagoldC מנותק
                                    chagoldC מנותק
                                    chagold
                                    השיב לdovid ב נערך לאחרונה על ידי chagold
                                    #18

                                    @dovid אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                                    אולי להיפך - התנגשות עם משתנה גלבלי של ספריה אחרת.

                                    אולי כי התקנתי את הספריה הזו בשרת.
                                    איך מסירים אותה?

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מחובר
                                      dovidD מחובר
                                      dovid ניהול
                                      השיב לchagold ב נערך לאחרונה על ידי dovid
                                      #19

                                      @chagold אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                                      @dovid אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                                      אולי להיפך - התנגשות עם משתנה גלבלי של ספריה אחרת.

                                      אולי כי התקנתי את הספריה הזו בשרת.
                                      איך מסירים אותה?

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

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                        עריכה:
                                        https://docs.npmjs.com/getting-started/uninstalling-local-packages

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

                                          @chagold אמר בעזרה בייבוא ספריה לתוך פרוייקט בnodejs:

                                          ובצד לקוח אמורה/עלולה להיות בעיה אם שמתי נתיב גלובלי ככה:

                                               script(src="https://cdn.bootcss.com/iview/2.0.0-rc.9/iview.min.js")
                                          

                                          כי יש שגיאה זו:

                                          0_1541021942034_f9680262-07b9-445a-be1f-7d848f2e3f8c-image.png

                                          בHTML הוא מופיע נכון

                                           <script src="https://cdn.bootcss.com/iview/2.0.0-rc.9/iview.min.js"></script>
                                          

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

                                          0_1541107403212_406b590c-0d06-4f3e-b9f2-3e28e11a0bc9-image.png

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

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

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

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

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