programing

각도 8 및 Json 가져오기

powerit 2023. 3. 4. 15:16
반응형

각도 8 및 Json 가져오기

type script 2.9부터 json을 직접 Import 할 수 있게 되었다는 기사를 몇 개 읽었습니다.그래서 tsconfig.json 파일을 다음과 같이 수정했습니다.

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  },
  "paths": {
    "@data/*": ["src/core/data/*"],
    "@models/*": ["src/core/models/*"],
    "@services/*": ["src/core/*"],
    "@environments/*": ["src/environments/*"]
  },
  "resolveJsonModule": true,
  "esModuleInterop": true,
  "allowSyntheticDefaultImports": true
}

그런 다음 다음과 같이 json을 컴포넌트로 Import했습니다.

import particlesJson from '../../assets/particles.json';

정상적으로 동작하지만 콘솔에 다음과 같은 오류가 나타납니다.

src/app/profile/login.component.ts(3,27): 오류 TS2732: 모듈 '../../assets/particles를 찾을 수 없습니다.json.' 확장자가 .json인 모듈을 가져오려면 '--resolveJsonModule'을 사용하십시오.

어떻게 하면 그 오류가 나타나지 않게 할 수 있을까요?

"resolveJsonModule": true,
"esModuleInterop": true,

에 놓여야 한다.compilerOptionstsconfig.json를 참조해 주세요.
를 참조해 주세요.

저 같은 경우에는 오래된 컴퓨터 과학 접근법이 효과가 있었습니다. Visual Studio Code를 다시 시작하십시오.

문서인 LppEdd 솔루션을 사용해도 됩니다.유일한 해결책은 // @ts-ignore json 파일을 정상적으로 가져올 수 있었습니다.

버전: 8

hi angular 8+에서 이것은 만약의 경우에 작동합니다.

"resolveJsonModule": true, 
"esModuleInterop": true,

tsconfig.add.json 및 tsconfig.json에도 있습니다.VS Code를 재시작할 필요는 없지만 vscode가 새로운 ts 규칙을 채택하려면 약간의 시간이 필요합니다.

문제는 'resolveJsonModule'이 'compilerOptions' 섹션에 없다는 것입니다.

언급URL : https://stackoverflow.com/questions/57574481/angular-8-and-importing-json

반응형