node.js - hur man importerar modul med '@' symbol, Node+Express+Typescript


Jag är relativt ny på Node+Typescript, jag har en fil som importerar ett annat modul i filen på detta sätt import { IS_PRODUCTION } from '@/config/config';, jag kan inte förstå hur det importeras med @-symbolen.

Behöver lite hjälp med att förstå detta.

Tack

[REDIGERA]: detta är tsconfig.json

{
  "compilerOptions": {
    "esModuleInterop": true,
    "target": "es2018",
    "noImplicitAny": true,
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "sourceMap": true,
    "outDir": "build",
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"],
      "@@/*": ["./*"]
    },
    "module": "commonjs",
    "skipLibCheck": true
  },
  "include": ["src/**/*"],
  "exclude": ["build", "node_modules"]
}

Svar #1

Din tsconfig.json har några egna sökvägar inställda. En av dem är denna:

"@/*": ["./src/*"],

Det betyder att när TypeScript ser en sökväg som börjar med @/whatever så översätter den det till path/of/tsconfig/here/src/whatever.

Det är bra eftersom det låter dig ladda filer med sökvägar från projektets rot. På det sättet, om du flyttar en fil behöver du inte ändra alla importeringar.

Du kan läsa om denna funktion i dokumentationen

Relaterade artiklar