תיעוד 47
התקנת חבילות פרטיות
Cloudflare Pages תומך ברישומי חבילות מותאמים, ומאפשר לכלול תלויות פרטיות באפליקציה. ההדרכה הזו מתמקדת ב-npm, מנהל החבילות והרישום של Node, אבל אפשר ליישם את אותה גישה גם בכלי רישום אחרים.
תצטרכו לעדכן את משתני הסביבה בהגדרות הפרויקט ב-Pages, תחת Settings. אפשר לשנות אתר קיים בכל עת, ואפשר גם לאתחל פרויקטים חדשים עם ההגדרות האלה. בכל מקרה, שינוי הגדרות הפרויקט יבוא לידי ביטוי רק בפריסה הבאה.
זהירות: אחרי כל שינוי בהגדרות, ודאו שמפעילים פריסה חדשה.
#אסימון גישה לרישום
כל רישום חבילות אמור לאפשר הנפקת אסימוני גישה חדשים. רצוי ליצור אסימון חדש במיוחד עבור Pages, כמו בכל פלטפורמת CI/CD אחרת.
ב-npm אפשר ליצור ולצפות באסימונים דרך האתר, או להשתמש ב-CLI של npm. אם ה-CLI מוגדר אצלכם מקומית ואתם מאומתים, הריצו בטרמינל את הפקודות הבאות:
# Verify the current npm user is correct
npm whoami
# Create a readonly token
npm token create --read-only
#-> Enter password, if prompted
#-> Enter 2FA code, if configuredהפקודות האלה ייצרו אסימון לקריאה בלבד שנראה כמו מחרוזת UUID. שמרו את הערך הזה לשלב מאוחר יותר.
#מודולים פרטיים ברישום npm
הסעיף הבא רלוונטי למשתמשים עם אפליקציות שמשתמשות רק במודולים פרטיים מרישום npm.
בפרויקט Pages, תחת Settings > Environment variables, הוסיפו משתנה סביבה חדש בשם NPM_TOKEN לסביבות Production ו-Preview, והדביקו כערך את האסימון לקריאה בלבד שיצרתם.
זהירות: הוסיפו את המשתנה
NPM_TOKENגם לסביבת Production וגם לסביבת Preview.
כברירת מחדל, npm מחפש משתנה סביבה בשם NPM_TOKEN. מכיוון שלא הגדרתם נקודת קצה מותאמת לרישום, מניחים שמדובר ברישום npm. פיתוח מקומי אמור להמשיך לעבוד כרגיל, בתנאי שאתם וחברי הצוות מאומתים עם חשבונות npm (ראו npm whoami ו-npm login) שיש להם גישה לחבילות הפרטיות.
#נקודות קצה מותאמות לרישום
כשמשתמשים בכמה רישומים, הפרויקט יצטרך להגדיר קובץ תצורה ברמת השורש בשם .npmrc. דוגמה לקובץ .npmrc:
@foobar:registry=https://npm.pkg.github.com
//registry.npmjs.org/:_authToken=${TOKEN_FOR_NPM}
//npm.pkg.github.com/:_authToken=${TOKEN_FOR_GITHUB}כאן, כל החבילות תחת ה-scope @foobar מופנות לרישום GitHub Packages. אחר כך לכל רישום משויך אסימון גישה משלו, לפי שמות משתני הסביבה המתאימים.
הערה: צריך להגדיר אסימון גישה לרישום
npm(ראוTOKEN_FOR_NPMבדוגמה) רק אם הוא מארח חבילות פרטיות שהאפליקציה דורשת.
בפרויקט Pages חייבים להגדיר את משתני הסביבה התואמים לכל הסביבות. בדוגמה שלנו, זה אומר ש-TOKEN_FOR_NPM חייב להכיל את ערך אסימון npm לקריאה בלבד, ו-TOKEN_FOR_GITHUB חייב להכיל אסימון גישה אישי משלו.
#ניהול כמה סביבות
אם הפיתוח המקומי מפסיק לעבוד עם קובץ .npmrc החדש, תצטרכו לבצע כמה שינויים נוספים:
- שנו את שם קובץ
.npmrcשמתאים ל-Pages ל-.npmrc.pages. הקובץ הזה אמור להתייחס למשתני סביבה. - שחזרו את קובץ
.npmrcהקודם: הגרסה שעבדה קודם לכם ולחברי הצוות. - עברו אל Workers & Pages בלוח הבקרה של Cloudflare. מעבר אל Workers & Pages
- בחרו את פרויקט Pages.
- עברו אל Settings > Environment variables, הוסיפו משתנה סביבה חדש בשם
NPM_CONFIG_USERCONFIGוהגדירו את ערכו ל-/opt/buildhome/repo/.npmrc.pages. אם קובץ.npmrc.pagesלא נמצא בתיקיית השורש של הפרויקט, התאימו את הנתיב בהתאם.