TypeScript היא קבוצת-על מוקלדת של JavaScript שאפשר לקמפל ל-Apps Script רגיל. כשמשתמשים ב-TypeScript בפיתוח של פרויקט Apps Script, נהנים מהיתרונות הבאים:
- השלמה אוטומטית ב-IDE מקומי
- הקלדה מבנית (אופציונלי)
- הסקת סוגים, ממשקים
- תכונות של ES6 כמו classes ו-arrow functions.
במדריך הזה מוסבר איך לבצע כמה משימות נפוצות בפיתוח פרויקט 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 (להשלמה אוטומטית של TypeScript IDE)
אם לא השתמשתם ב-clasp
בעבר, מומלץ לקרוא את clasp
המסמכים
.
שימוש ב-TypeScript בפרויקט Clasp
אתם יכולים להשתמש ב-clasp
כדי ליצור במהירות פרויקט חדש של Apps Script מקומי.
הפקודה הזו יוצרת את הקבצים appsscript.json
ו-Code.gs
, שהם הבסיס לפרויקט Apps Script.
כדי להשתמש ב-TypeScript בקובץ App 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.