web-dev-qa-db-ja.com

Angular 8とJsonのインポート

タイプスクリプト2.9以降、jsonを直接インポートできることを説明した記事をいくつか読んだことがあります。それで、私は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 particlesJson from '../../assets/particles.json';

正常に動作しますが、コンソールでエラーが発生します。

Src/app/profile/login.component.ts(3,27)のエラー:エラーTS2732:モジュール '../../assets/particles.json'が見つかりません。拡張子が「.json」のモジュールをインポートするには、「-resolveJsonModule」の使用を検討してください

そのエラーが表示されないようにするにはどうすればよいですか?

4
r3plica

ドキュメントであるLppEddソリューションを使用する場合でも。私の唯一の解決策は、// @ ts-ignoreを追加することでした。jsonファイルを正常に取得できました。

バージョン:8

0
Juliano