reactjs - Hoe een .json-bestand importeren in een TypeScript React-app
Ik krijg de foutmelding:
Kan module '../public/data.json' niet vinden. Overweeg het gebruik van '--resolveJsonModule' om een module met de extensie '.json' te importeren.
import "./styles.css";
import data from "../public/data.json";
/**
*
* Welcome to the DDS coding challenge.
*
* Load `/public/data.json` as if it were a GET endpoint
* and render it in a table using `/public/table.png` design.
*
* Make this behaviour reusable.
*
* Ask questions & have fun!
*
*/
export default function App() {
return <div className="App"></div>;
}
Hier is een link naar de uitdaging -> https://codesandbox.io/s/staging-snow-vvmvd?file=/src/App.tsx
Antwoord #1
Het foutbericht laat je weten dat TypeScript standaard geen JSON kan importeren, je moet eerst de compileroptie resolveJsonModule inschakelen. Om dit in een React-project te doen, voeg het volgende toe aan je tsconfig.json:
{
"compilerOptions": {
"resolveJsonModule": true
}
}
Vervolgens, wanneer je het JSON-bestand importeert, moet je het een pad geven dat relatief is ten opzichte van het huidige bestand. Het JSON-bestand wordt gebundeld met je JavaScript, dus het zou waarschijnlijk in de /src-directory moeten gaan in plaats van de /public-directory. Bijvoorbeeld, als je het in dezelfde directory als App.tsx plaatst, zou je het zo importeren:
import data from "./data.json"
