פיתוח של Apps Script באמצעות TypeScript

TypeScript הוא קבוצת-על מוגדרת של JavaScript שאפשר לקמפל ל-Apps Script רגיל. כשמשתמשים ב-TypeScript בפיתוח של פרויקט Apps Script, אפשר ליהנות מהיתרונות הבאים:

במדריך הזה נסביר על כמה משימות נפוצות לפיתוח פרויקט Apps Script באמצעות TypeScript.

דרישות

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

כדי להשתמש ב-TypeScript בפרויקטים של Apps Script עם clasp, נדרשים הכלים הבאים: השימוש ב-clasp לא הכרחי כדי לאפשר שימוש ב-TypeScript ב-Apps Script, אבל מומלץ מאוד להשתמש בו כי הוא מפשט מאוד את התהליכים.

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

אם עוד לא השתמשתם ב-clasp, כדאי לעיין במסמכי העזרה של clasp .

שימוש ב-TypeScript בפרויקט Clasp

אפשר להשתמש ב-clasp כדי ליצור במהירות פרויקט מקומי חדש של Apps Script. הפקודה הזו יוצרת את appsscript.json ו-Code.gs, הבסיס של פרויקט Apps Script.

כדי להשתמש ב-TypeScript בקובץ Apps Script, פשוט משנים את שם הסיומת של הקובץ מ-gs ל-ts.

עריכת קבצי TypeScript מקומיים

בעזרת העורך המועדף עליכם, תוכלו לכתוב קובצי TypeScript מקומיים כקבצי .ts בתיקייה של הפרויקט.

לדוגמה, קובץ בשם index.ts יכול להכיל את הקוד הבא ב-TypeScript:

const greeter = (person: string) => {
  return `Hello, ${person}!`;
}

let user = 'Grant';
Logger.log(greeter(user));

אפשר לכתוב TypeScript עם תכונות של ES6 ואילך, כמו פונקציות חץ ותיבול מחרוזות (${var}). הקבצים האלה עוברים תרגום ל-Apps Script כשדוחפים את הפרויקט לשרת של Apps Script.

העלאת פרויקט מקומי של Apps Script שמשתמש ב-TypeScript

כשמסיימים לערוך את קובצי TypeScript ו-Apps Script המקומיים, אפשר להעלות את הקבצים המקומיים ל-Google Drive באמצעות הפקודה clasp הבאה:

clasp push --watch

הפקודה הזו עוקבת אחרי שינויים בקובצי TypeScript, ומשתמשת ב-typescript כדי לקמפל את הקוד וב-clasp כדי להעלות את הפרויקט ל-Google Drive.

דיווח על בעיות או שליחת בקשה להוספת תכונה

אם נתקלתם בבעיה בכלי clasp, תוכלו לדווח עליה ב-GitHub.

אם נתקלתם בבעיה או בבאג ב-TypeScript עצמו, תוכלו לדווח על כך במאגר GitHub של TypeScript.