Il est facile d'utiliser Typescript version 2.9+. Vous pouvez donc facilement importer des fichiers JSON en tant que Décrit par @kentor .
Mais si vous avez besoin d'utiliser des versions plus anciennes :
Vous pouvez accéder aux fichiers JSON de manière plus TypeScript. Tout d'abord, assurez-vous que votre nouveau typings.d.ts
est le même qu'avec le include
dans votre tsconfig.json
fichier.
Si vous ne disposez pas d'une propriété d'inclusion dans votre tsconfig.json
fichier. Ensuite, votre structure de dossier devrait être comme ça :
- app.ts
+ node_modules/
- package.json
- tsconfig.json
- typings.d.ts
Mais si vous avez un include
dans votre tsconfig.json
:
{
"compilerOptions": {
},
"exclude" : [
"node_modules",
"**/*spec.ts"
], "include" : [
"src/**/*"
]
}
Alors votre typings.d.ts
devrait être dans le src
comme décrit dans include
propriété
+ node_modules/
- package.json
- tsconfig.json
- src/
- app.ts
- typings.d.ts
Comme dans beaucoup de réponses, vous pouvez définir une déclaration globale pour tous vos fichiers JSON.
declare module '*.json' {
const value: any;
export default value;
}
mais je préfère une version plus typée de ceci. Par exemple, disons que vous avez un fichier de configuration config.json
comme ça :
{
"address": "127.0.0.1",
"port" : 8080
}
Nous pouvons alors déclarer un type spécifique pour celui-ci :
declare module 'config.json' {
export const address: string;
export const port: number;
}
Il est facile de l'importer dans vos fichiers typescript :
import * as Config from 'config.json';
export class SomeClass {
public someMethod: void {
console.log(Config.address);
console.log(Config.port);
}
}
Mais en phase de compilation, vous devez copier manuellement les fichiers JSON dans votre dossier dist. J'ajoute simplement une propriété script à mon fichier package.json
configuration :
{
"name" : "some project",
"scripts": {
"build": "rm -rf dist && tsc && cp src/config.json dist/"
}
}
3 votes
Votre déclaration de module et votre formulaire d'importation sont en désaccord.
4 votes
Pouvez-vous nous montrer un exemple ? Je suis un noob de typecript.
0 votes
Duplicata possible de Erreur du compilateur Typescript lors de l'importation d'un fichier json