angular - Hur man hämtar applikationsversion (eller importerar package.json-fil)? Google hjälper inte :(
I min Angular-applikation skulle jag vilja visa versionen från package.json-filen.
Jag vet att för att importera det behöver jag tillåta import av json och för detta behöver tsconfig.json-filen få några extra rader:
{
"compilerOptions": {
"module": "commonjs",
"resolveJsonModule": true,
"esModuleInterop": true,
"moduleResolution": "node"
}
}
Jag gjorde detta, men efter det när jag importerar json-filen i min komponentklass:
import { myPackage } from '../../../package.json';
Jag får fortfarande ett fel:
Kan inte hitta modul '../../../package.json'. Överväg att använda '--resolveJsonModule' för att importera modul med '.json'-ändelse.ts(2732)
Och problemet är inte med sökvägen eftersom jag lade en annan enkel JSON-fil i samma mapp men får samma fel.
Jag har googlat och sett många exempel som talar om '--resolveJsonModule', men det verkar som att jag gör allt som behövs... men det fungerar fortfarande inte.
Jag startade också om VScode och Angular-tjänsten - det hjälpte inte.
Jag använder Angular 10.0.11 och TS 3.9.7
Vänligen ge råd! Tack!
Svar #1
För att få tillgång till informationen i package.json i Angular, behöver du göra 3 saker
- I din
tsconfig.jsonbehöver du aktiveraresolveJsonModule-alternativet som finns icompilerOptionssom
compilerOptions": {
......
"resolveJsonModule": true
......
}
Efter det kan du köra om
npm starti din terminal.När du har kört om
npm startkommer du att kunna komma åt alla package.json-variabler inuti komponenten som
import * as packageJson from 'package.json';
......
export class AppComponent {
......
version = packageJson.version;
......
}
