问题
I am trying to import json file in typescript class like that
import * as nationalities from './mock/nationalities.json';
and it gives me an error
Cannot find module './mock/nationalities.json'.
and to solve this issue I added this
declare module '*.json' {
const value: any;
export default value;
}
but it doesn't solve my issue and also gives my another error exception
Invalid module name in augmentation, module '*.json' cannot be found.
My Typescript version
2.9.2
回答1:
Based on this post, here is complete answer for Angular 6+:
Suppose you added your json files into "json-dir" directory:
add "json-dir" into angular.json file :
"assets": [ "src/assets", "src/json-dir" ]allow import of json modules to prevent from typescript errors:
Angular 6: add to
typings.d.tsdeclare module "*.json" { const value: any; export default value; }Angular 7+: add to
tsconfig.json"compilerOptions": { ... "resolveJsonModule": true }from your controller, service or anything else, simply import the file by using this absolute path from
/srcdirectory. For example:import * as myJson from 'absolute/path/to/json/dir/json-file.json';
assuming source files are in
src/appand json files insrc/absolute/path/to/json/dir
来源:https://stackoverflow.com/questions/51541468/import-json-file-in-typescript-angular-5