javascript - Hur importerar man en JSON5-fil (som man gör med vanlig JSON) i Typescript?
Jag skulle vilja importera en JSON5-fil till ett Javascript-objekt på samma sätt som [man kan importera en JSON-fil](import config från '../config.json').
Visar detta meddelande när man hovrar men det är tydligt där
Cannot find module '../conf/config.json5' or its corresponding type declarations.ts(2307)
Jag har 2 sidofrågor relaterade till den huvudsakliga ovan:
- Kommer jag att få intellisense för innehåll inuti .json5, som vanlig json
- Fungerar det ens som det fungerar med require()? Måste jag använda import() istället för vanlig import?
Svar #1
Du kommer att behöva paketet för att göra det: json5.
Det finns ett av två sätt som vi kan använda detta på:
Ett: (målmodulsystemet är CommonJS) krävs det
Följande README registrerar vi json5:
import "json5/lib/register";
Då kan du använda require för att importera det:
const config = require("../config/config.json5");
Två: Läsa filen och sedan använda json5 för att analysera den:
import json5 from "json5";
import { readFile } from "fs/promises";
(async () => {
const text = await fs.readFile("./path/to/config.json5"); // path to config.json5 from entry point
const config = json5.parse(text);
})();
Du kan också använda den medföljande CLI för att konvertera json5-filer till vanlig json som du kan använda.
Svar #2
Skaparen uppdaterade json5-wikin
Wiki
Du behöver skapa en extra fil med .d.ts-ändelse för att stödja Intellisense.
