Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you import a JSON file with VueJS / Typescript?

I just created a clean VueJS new project and I can't get loading a JSON file to work.

Reproduction / Issue

For easy reproduction I've created a Github repo with my issue: https://github.com/devedse/VueJSImportJsonFile

In the Home.vue page I'm trying to get Json loading to work. (https://github.com/devedse/VueJSImportJsonFile/blob/master/src/views/Home.vue)

When you open this solution in VSCode the following line shows an error:

import theJson from '@/assets/hi.json';

Error in VSCode Can't find module '@/assets/hi.json'

When running NPM Serve the following error pops up: enter image description here

What I've already tried

I've already searched all of stackoverflow and tried everything in the following posts:

Importing json file in TypeScript

Typescript compiler error when importing json file

https://github.com/chybie/ts-json

Edit 1:

Ok I now managed to get it to work when running npm run serve by adding this to the tsconfig.json:

{
  "compilerOptions": {
    "resolveJsonModule": true
  }
}

However the error in VSCode seems to stay. Is there a way to fix this too?

like image 366
Devedse Avatar asked Feb 01 '19 09:02

Devedse


1 Answers

Simply add resolveJsonModule": true to your tsconfig.json under compilerOptions:

diff --git a/tsconfig.json b/tsconfig.json
index 499f5e2..a05dab1 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,6 +6,7 @@
     "jsx": "preserve",
     "importHelpers": true,
     "moduleResolution": "node",
+    "resolveJsonModule": true,
     "esModuleInterop": true,
     "allowSyntheticDefaultImports": true,
     "sourceMap": true,
like image 127
wwerner Avatar answered Oct 03 '22 05:10

wwerner