javascript - Hur man automatiskt omskriver relativa importvägar till absoluta?


Jag försöker skriva om alla befintliga relativa sökvägar i mitt javascript/typescript-projekt till absoluta sökvägar.

Exempel :

import example from "../../example"

skulle skrivas om till

import example from "src/components/example" 

Så jag letar efter ett skript eller liknande för att transformera alla dessa imports. Helst skulle det vara möjligt att köra detta som ett npm-skript vid precommit eller liknande.

Finns det ett sätt att göra detta?

Svar #1

Jag stötte också på detta problem och skapade ett ESLint-plugin för att lösa det. Du kan hitta det här: https://github.com/qDanik/eslint-plugin-path

Svar #2

Det ser ut som att imports görs för statisk analys och kan inte verkligen vara dynamiska (importering av moduler med ES6-syntax och dynamisk sökväg). Jag undrar dock om du kan göra något i tsconfig.json för att uppnå detta. Under "compilerOptions: { ..., "paths": { "@components/" : "src/components/". Jag är inte säker på om detta kommer att lösa ditt användningsfall men det kan vara värt ett försök. Så din import skulle se ut så här:

import { example } från "@components/example"

Relaterade artiklar