node.js - Fejl TS 2732 ved forsøg på at tilføje JSON til Typescript


Jeg forsøger at importere en JSON-fil til et TypeScript-program og får hele tiden fejlen TS2732: Kan ikke finde modul. Filen med JSON-filen, jeg forsøger at importere, er i src-mappen sammen med main.ts-filen. Min kode er som følger

import logs=require('./logs/logs_0.json')

console.log(logs.id)

Svar #1

  1. Ikke sikker på, hvilken version af TypeScript du kører, men der blev introduceret en fejl i version 2.9.0, som blev rettet i 2.9.2

  2. I din tsconfig.json, under compiler-indstillingerne skal du sikre dig at have:

    "resolveJsonModule": sand,

    "esModuleInterop": sand,

EsModuleInterop er kun nødvendig for standardimporten af json-filen. Hvis du lader den stå på false, skal du importere den med import * as logs0 fra '../logs_0.json'

Svar #2

Hvis du har resolveJsonModule sat til true i tsconfig.json som @Daniel M foreslog, kan du prøve noget som dette:

import logs from './logs/logs_0.json';

console.log(logs.id);

require er noget, du normalt vil bruge i en JavaScript-fil.

Sørg også for, at der på samme niveau som filen, der har denne import, findes en logs-mappe, som indeholder din json. Hvis json-filen er på samme niveau som TypeScript-filen, kan du prøve at importere fra ./logs_0.json.

Relaterede artikler