Es ist einfach, Typoskript Version 2.9+ zu verwenden. So können Sie JSON-Dateien einfach als importieren @kentor beschrieben importieren .
Wenn Sie jedoch ältere Versionen verwenden müssen:
Sie können auf mehr TypeScript-Weise auf JSON-Dateien zugreifen. typings.d.ts
Stellen Sie zunächst sicher, dass Ihr neuer Standort mit dem identisch istinclude
Eigenschaft in Ihrer tsconfig.json
Datei übereinstimmt.
Wenn Ihre tsconfig.json
Datei keine include-Eigenschaft enthält. Dann sollte Ihre Ordnerstruktur so aussehen:
- app.ts
+ node_modules/
- package.json
- tsconfig.json
- typings.d.ts
Aber wenn Sie eine include
Immobilie in Ihrem tsconfig.json
:
{
"compilerOptions": {
},
"exclude" : [
"node_modules",
"**/*spec.ts"
], "include" : [
"src/**/*"
]
}
Dann typings.d.ts
sollten Sie sich im src
Verzeichnis befinden, wie in include
Eigenschaft beschrieben
+ node_modules/
- package.json
- tsconfig.json
- src/
- app.ts
- typings.d.ts
Wie in vielen Antworten können Sie eine globale Deklaration für alle Ihre JSON-Dateien definieren.
declare module '*.json' {
const value: any;
export default value;
}
aber ich bevorzuge eine typisiertere Version davon. Angenommen, Sie haben eine solche Konfigurationsdatei config.json
:
{
"address": "127.0.0.1",
"port" : 8080
}
Dann können wir einen bestimmten Typ dafür deklarieren:
declare module 'config.json' {
export const address: string;
export const port: number;
}
Es ist einfach, in Ihre Typoskriptdateien zu importieren:
import * as Config from 'config.json';
export class SomeClass {
public someMethod: void {
console.log(Config.address);
console.log(Config.port);
}
}
In der Kompilierungsphase sollten Sie JSON-Dateien jedoch manuell in Ihren dist-Ordner kopieren. Ich füge meiner package.json
Konfiguration einfach eine Skripteigenschaft hinzu:
{
"name" : "some project",
"scripts": {
"build": "rm -rf dist && tsc && cp src/config.json dist/"
}
}