ניפוי באגים באמצעותBlockly ו-blockly-samples

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

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

  1. במזלג הבלוקים:

    $ npm run package
    $ cd dist
    $ npm link
    

    בעזרת השלבים האלה נבנו את הליבה שלBlockly, אורזים אותה ואז יוצרים קישור סמלי לקבצים הארוזים.

  2. במזלג של בלוקים לדוגמה:

    $ npm link blockly
    

    השלב הזה מורה ל-npm לחפש את הקישור הסמלי שיצרתם קודם לכן במקום לאחזר את החבילה מ-npm.

  3. npm run start כדי לבדוק את הפלאגין.

כאשר מבצעים שינויים בסיסיים, צריך ליצור אותם מחדש ולארוז אותם מחדש.

שיטה 2: אחזור מ-GitHub

אתם יכולים להגיד ל-npm לאחזר חבילה מ-GitHub במקום מרישום npm. באמצעות השיטה הזו אמורה להיות לכם גישה למפות המקור, שמקלות על ניפוי הבאגים ב-blockly_compress. תצטרכו להשתמש בגרסה של blockly שכבר פורסמה במקום כלשהו ב-GitHub.

  1. ודאו שהקטע scripts ב-package.json של הפלאגין כולל את הפריטים הבאים:

    "postinstall": "blockly-scripts postinstall"
    

    הסקריפט הזה יבנה את התוסף באופן אוטומטי אחרי שהוא יותקן מ-GitHub בשלב מאוחר יותר.

  2. במקום לספק מספר גרסה של חסימה ב-package.json, צריך לציין כתובת Git ושם סניף:

    "blockly": "git://github.com/google/blockly.git#develop"
    

    הוא יכול להיות גם קישור ל-blockly משלכם אם יש שינויים שלא מוזגו.

  3. npm install כמו כרגיל

  4. npm run start לבדיקת הפלאגין

כשמבצעים שינויים בליבה של blockly, תצטרכו לדחוף אותם ל-GitHub בהסתעפות שצוינה. בנוסף, אם רוצים ש-npm תאחזר גרסה חדשה מ-GitHub, צריך npm uninstall blockly (או להסיר אותה מה-node_modules) ואז להתקין אותה מחדש כמתואר למעלה.

שיטה 3: מגרש משחקים מתקדם

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

  1. בספריית יישומי הפלאגין ב-blockly-samples:

    $ npm run build
    $ cd dist
    $ pwd
    

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

  2. ב-blockly, ב-advanced_playground.html:

    <script src="$PATH_TO_DIST_DIR/index.js">
    

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

  3. פותחים את מגרש המשחקים המתקדם בדפדפן כדי לבדוק את הפלאגין.

כשמבצעים שינויים ב-blockly, צריך רק לרענן. כשמבצעים שינויים בפלאגין, צריך להריץ מחדש את npm run build.