javascript - בדיקת רכיבי Svelte עם Jest, לא ניתן לטעון קבצי Svelte באופן רקורסיבי

אני עובד על פרויקט סבלט עם טייפסקריפט ורוצה להשתמש ב-Jest כדי לבדוק רכיבי UI באמצעות המודול @testing-library/svelte. אני לא מצליח לייבא כראוי את כל קבצי הסבלט שלי כמו תתי-הקומפוננטות ואני פשוטים מפגר כש-Jest מנסה לטעון את האפליקציה.

ישנם כמה שגיאות TypeScript ברכיבי Svelte ומבעקבות הדפסת השגיאות האלו, אני יכול לראות אילו קבצים אכן נטענו. לאחר טעינת App.svelte, התוכנית פשוט קופאת ואינה טוענת אף אחד מהתתי מודולים.

אני לא בדיוק בטוח איפה השגיאה, כי לפני השגיאה הזו קיבלתי שגיאת ייבוא

קרא עוד →

Svelte TypeScript: האובייקט הוא מסוג 'לא ידוע'

אני מנסה ליישם TypeScript ב-Svelte ויש לי בעיה עם מטפלי אירועים ברכיבים מותאמים אישית. כשאני כותב משהו כמו:

<CustomComponent on:itemclick={() => dispatch("item", item)} on:doSometing={onDoSomethingHandler} on:doSomethingElse={onDoSomethingElseHandler}> </CustomComponent>

ועכשיו הדבר המצחיק: השניים הראשונים יגרמו לשגיאה:

העצם הוא מסוג 'לא ידוע'

אבל לא האחרון. כמובן שכולם ב:שיטות

קרא עוד →

ג'אווהסקריפט - באג בגלילה אינסופית ברכיב מציג הקס של Svelte

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

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

הרכיב הרלוונטי ניתן למצוא כאן: https://github.com/DamenH/hex-viewer/blob/master/src/lib/SmartDataGrid.svelte

פונקציה זו מחשבת את האינדקסים ההתחלת

קרא עוד →

Svelte ו-TypeScript: איך להוסיף או להרחיב קומפוננטה בסיסית/ברירת מחדל כמו

באפליקציית Svelte שלי אני מנסה לאפשר למשתמשים להעלות תיקיות בנוסף לקבצים. עד כה הדרך היחידה שמצאתי לעשות זאת היא להשתמש בתגית input עם המאפיין type="file", ולהוסיף את המאפיין webkitdirectory, שלצערי אינו סטנדרטי. סוג הקלט של Svelte אינו כולל את webkitdirectory. ה

קרא עוד →

typescript - איך מממשים נקודת קצה Post ב-Sveltekit שמבצעת בקשת DB אסינכרונית?

אז כאשר אני ניגש לנקודת הקצה של SvelteKit מסוג post, זה עובד מצוין אם אני שולח כמה ערכים והם אינם עוברים את בדיקות האימות. היא מחזירה את הסטטוס והגוף הנכונים. עם זאת, כשהיא מבצעת את ההכנסה למסד הנתונים, נקודת הקצה מחזירה שגיאת 404 אבל היא מוסיפה את המשתמש ל

קרא עוד →

TypeScript - הוספת Google Analytics עם מנהל הסכמה לאתר SvelteKit

אני צריך להוסיף את Google Analytics לאתר SvelteKit. ההוראות מגוגל הן שיש להוסיף את הסקריפט למטה לתג <head>, ולכן חשבתי שאוכל פשוט להוסיף אותו ב-app.html. הבעיה היא שאני צריך להשתמש במצב הסכמה (Consent Mode) כדי לעמוד בתקנות GDPR. כדי לעשות זאת, אני צריך להיות מסוגל לקרוא ולכתוב למשתנה כלשהו כדי לאפשר ולכבות את האנליטיקה.

לפי מה שאני יכול להבין, אני לא מצליח לגשת לשום משתנה מתוך תגית <head>. גם ניסיתי להוסיף את אותו קוד לתוך תגית &

קרא עוד →

TypeScript - סוולט מופעים מרובים של אפליקציות עם חנויות (בלי רדוקס)

הערה: - מענה עצמי

כברירת מחדל, יש שלוש דרכים עיקריות ב-Svelte שבהן ניתן להשתמש כדי להעביר נתונים בין רכיבים שונים.

1. הברור, על ידי שימוש באביזרים

להעביר נתונים מהורה לילד.

  1. העברת נתונים בכיוון אחד בלבד.
  2. מ

    קרא עוד →

TypeScript - שימוש בסוגים עם Storybook ו-Sveltekit

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

import Modal from './Modal.svelte' export default { title: 'Modal', component: Modal, } const Template = (args: any) => ({ component: Modal, props: args, }) export const Primary = Template.bind({}) Primary.args = { text: 'Hello World', }

הקוד שלמעלה נותן לי את השגיאה הבאה בשורה Primary.args={ :

Property 'a

קרא עוד →

כלילת קובץ TypeScript מרכיב Svelte עם Rollup מציגה שגיאת ניתוח

רקע קצר

  • אני רוצה ליצור תוסף ל-Visual Studio Code שיש לו Webviews
  • רציתי להשתמש ב-Svelte/Typescript כדי ליצור את תצוגות האינטרנט, ב-Typescript כדי ליצור את התוסף עצמו
  • זה הוביל אותי למבנה פרויקט יוצא דופן, שבו אני משתמש ב-esbuild כדי לבנות את ההרחבה, ב-rollup כדי לבנות את חלונות האינטרנט, ומשתמש בקובץ tsconfig.json נפרד עבור חלונות האינטרנט בהשוואה להרחבה

מה הבעיה?

אני ממשיך לקבל שגיאת ניתו

קרא עוד →

typescript - נתיבי SvelteKit מוגנים: localStorage לא מוגדר

אני מנסה להגן על מסלולים, או להפנות לדף ההתחברות כאשר auth_token לא נמצא באחסון המקומי.

בקובץ src/routes/+layout.server.ts שלי יש לי:

import { redirect } from "@sveltejs/kit" import type { LayoutServerLoad } from "./$types" export const load: LayoutServerLoad = async ({ locals }) => { if (localStorage.getItem('auth_token') === null) { throw redirect(303, '/') } }

למרות שאני מקבל:

קרא עוד →