javascript - איך לשכתב אוטומטית נתיבים של ייבוא יחסי לנתיבים מוחלטים?
אני מנסה לשכתב את כל הנתיבים היחסיים הקיימים בפרויקט שלי ב-JavaScript/TypeScript לנתיבים מוחלטים.
דוגמה :
import example from "../../example"
ייתכתב מחדש ל
import example from "src/components/example"
אז אני מחפש סקריפט או משהו דומה כדי לשנות את כל הייבוא האלה. עדיף שיהיה אפשר להריץ את זה כסקריפט npm לפני הקומיט או משהו דומה.
האם יש דרך לעשות את זה?
תשובה #1
גם אני נתקלתי בבעיה הזו ויצרתי תוסף ESLint כדי לפתור אותה. ניתן למצוא אותו כאן: https://github.com/qDanik/eslint-plugin-path
תשובה #2
נראה כי ייבוא נעשה לניתוח סטטי ולא יכול להיות באמת דינמי (ייבוא מודולים באמצעות תחביר ES6 ונתיב דינמי). אני תוהה עם זאת אם אפשר לעשות משהו בקובץ tsconfig.json כדי להשיג זאת. תחת "compilerOptions: { ..., "paths": { "@components/": "src/components/". אני לא בטוח שזה יפתור את המקרה שלך אבל אולי שווה לנסות. כך שהייבוא שלך ייראה:
import { example } from "@components/example"