TypeScript הוא קבוצת-על מוגדרת של JavaScript שאפשר לקמפל ל-Apps Script רגיל. כשמשתמשים ב-TypeScript בפיתוח של פרויקט Apps Script, אפשר ליהנות מהיתרונות הבאים:
- השלמה אוטומטית של סביבת פיתוח מקומית
- סיווג מבני אופציונלי
- השלמה של סוגים, ממשקים
- תכונות של ES6 כמו כיתות ופונקציות חץ.
במדריך הזה נסביר על כמה משימות נפוצות לפיתוח פרויקט Apps Script באמצעות TypeScript.
דרישות
אם אתם לא מכירים את TypeScript, כדאי לעיין במסמכי העזרה של TypeScript ובמדריך למתחילים ב-TypeScript כדי להכיר את המושגים הבסיסיים לפני שמנסים לבצע את הפעולות המתוארות במדריך הזה.
כדי להשתמש ב-TypeScript בפרויקטים של Apps Script עם clasp
, נדרשים הכלים הבאים: השימוש ב-clasp
לא הכרחי כדי לאפשר שימוש ב-TypeScript ב-Apps Script, אבל מומלץ מאוד להשתמש בו כי הוא מפשט מאוד את התהליכים.
לפני שמנסים לבצע את התהליכים שמפורטים בהמשך, צריך לוודא שמותקנים הרכיבים הבאים כדי להפעיל את סביבת הפיתוח המקומית:
- Node ו-npm
clasp
:npm install -g @google/clasp
- הגדרות סוגים ב-Apps Script:
npm i -S @types/google-apps-script
- Visual Studio Code (להשלמה האוטומטית של IDE ב-TypeScript)
אם עוד לא השתמשתם ב-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.