כפי שכותרת אומרת, ואין לי דוגמת קוד כרגע, איך זה כל כך בלתי אפשרי לשלב בין Rollup, Vue, Typescript ו-vue-property-decorator? בכל פעם שאני מנסה, זה רוצה להוסיף את vue-property-decorator כתלות חיצונית. כל קישור לפתרון שעובד יוערך מאוד.
קרא עוד →אני מנסה ליצור ספריית רכיבים באמצעות typescript ו-rollup.
יש לי רכיב, Canary.
function Canary() { ... } export default React.memo(Canary)שימו לב כיצד Canary עטוף ב-HoC (React.memo).
יש לי רכיב נוסף, SomeComponent
function SomeComponent() { ... } export default SomeComponentאם הייתי בונה את הספרייה שלי רק עם SomeComponent
קרא עוד →יש לי קובץ .d.ts ואני import את ה-exports בקובץ .ts, כאשר אני משתמש ב-tsc כדי לקמפל את קובץ ה-.ts, הוא מייצר בהצלחה את קובץ ה-js.
אבל כאשר אני משתמש ב-rollup (תוספים עם rollup-plugin-typescript2 & rollup-plugin-node-resolve & rollup-plugin-commonjs), הוא מדווח שהוא לא יכול לפתור את הייבוא.
מישהו יכול לומר לי למה?
קרא עוד →אני מנסה לבנות ספריית react-native/-web כדי לשתף רכיבים בין שני פרויקטים, אבל rollup לא מזהה את רכיבי ה-react-native כשמשתמשים בהם בתוך רכיב ומחזיר את השגיאה הזו:
(!) Unused external imports View,Text,TouchableOpacity,ActivityIndicator,TextInput,Picker,FlatList,StatusBar imported from external module 'react-native' but never used default imported from external module 'react-native-easy-content-loader' but never used Svg,G,Path,default,Polygon,Polyline,Rect,Circle,Defs,Mask,Use i קרא עוד →בקוד המקור שלי, נתיב הייבוא הזה נכון:
<img src={"../../../../assets/logo.svg"} />אבל הנתיב היחסי משתנה במהלך תהליך האריזה. איך אני יכול לגרום לקוד להמשיך לעבוד אחרי האריזה?
אני חושב שאם הפרויקט שלי היה ב-JS רגיל הייתי יכול להשתמש ב-@rollup/plugin-image. אבל לא הצלחתי לגרום לזה לעבוד בפרויקט ה-Typescript שלי.
כשאני מנסה להשתמש בזה כפי שמתואר במסמכים אני מקבל את השגיאה הבאה בפרויקט שלי:
Cannot find module '../ קרא עוד →קיבלתי עבודה באוגוסט, והכי חשוב שבעקבות המגפה הזו, אני בעצם שמרתי עליה גם!!
כפרויקט צדדי רציתי ללמוד ליצור ספריית רכיבי React לשימוש עצמי שלי (הרבה רחוק מלהיות מלאה) עם Rollup בשביל tree-shaking שלה + תוספים עבור cjs, udm וכו' עבור תאימות.
כאשר אני מקמפל עם TSC זה כמעט מושלם עכשיו כששיניתי כמה דברים לגבי הארגון ו-TSConfig בנייה נפרדת.
TSConfig שלי
ה-Build TSConfig שלי
הקונפיגורציה שלי ל-Rollup
אני לא בטוח אם יש בעיות בולטות שמישהו יכול לראות במבט ראשון או ל
קרא עוד →
אני לא מצליח לגרום ל-@rollup/plugin-typescript לעבוד עם @rollup/plugin-babel, וה-JS שנוצר מקוד TS לא מתורגם על ידי Babel
חיפשתי פתרונות לבעיות קשורות, אבל הם לא נראו עובדים (Babel 7 לא מתרגם כאשר משתמשים בו ב-Rollup עם פלאגין של TypeScript)
להלן תצורת ה-rollup
קרא עוד →יש לי מונורפו, שנוצר כ-Yarn Workspace, שיש לו API ו-SDK.
ה-API הוא הצד האחורי, וה-SDK הוא ספרייה מתוקה לאינטראקציה עם אותו צד אחורי. ה-API הוא חבילה פרטית בעוד שה-SDK יתפרסם ויהיה זמין לכל אחד. שניהם כתובים ב-TypeScript.
באופן טבעי, ל-SDK ול-API יש חפיפה מסוימת כשמדובר בסוגי TypeScript. מכיוון שה-API מגדיר מה הוא מקבל כארגומנטים לנקודות הקצה שלו, נראה שהכי טוב להשתמש מחדש בסוגים הללו ב-SDK כדי להגדיר מה ה-SDK צריך "לשלוח" ל-API.
אני בהחלט יכול לייצא סוגים אלה מה-API, ולייבא
קרא עוד →אני יוצר ווידג'ט ניתן לחיבור ב-React, לשימוש באפליקציית Mendix, שמנצל את החבילה ketcher-react.
עם רק היסודות במקום (ראו את הקוד למטה), כאשר אני רוצה לבנות באמצעות npm run build, אני מקבל את השגיאה הבאה:
שגיאה: 'url' מיובא על ידי url?commonjs-external, אך לא ניתן היה לפתור אותו – מטופל כהסתמכות חיצונית
לידיעתך: url?commonjs-external משמש בקובץ index.js של @rollup\plugin-commonjs
מקווה שמישהו יכול לעזור לי!
הנה הרכיב הפונקציונל
קרא עוד →
אני עוקב אחרי המדריך הזה כדי ליצור ספריית קומפוננטות ריאקט עבור החברה שלי. הגדרתי הכל לפי המדריך ואז ניסיתי להריץ npm rollup -c. זה עובד על המחשב שלי (הבניית הקוד מסתיימת ללא שגיאות).
אבל כשאני מנסה לחבר את זה ל-CircleCI (הכלי שאנחנו משתמשים בו לבניות), זה נותן את השגיאה הזו:
התצורה היא
קרא עוד →