Jest łatwy w użyciu na maszynie w wersji 2.9+. Możesz więc łatwo importować pliki JSON zgodnie z opisem @kentor .
Ale jeśli potrzebujesz użyć starszych wersji:
Możesz uzyskać dostęp do plików JSON w sposób bardziej TypeScript. Najpierw upewnij się, że nowa typings.d.ts
lokalizacja jest taka sama, jak w przypadku include
właściwości w tsconfig.json
pliku.
Jeśli nie masz właściwości include w swoim tsconfig.json
pliku. Wtedy struktura folderów powinna wyglądać następująco:
- app.ts
+ node_modules/
- package.json
- tsconfig.json
- typings.d.ts
Ale jeśli masz include
nieruchomość w swoim tsconfig.json
:
{
"compilerOptions": {
},
"exclude" : [
"node_modules",
"**/*spec.ts"
], "include" : [
"src/**/*"
]
}
Następnie typings.d.ts
powinieneś znajdować się w src
katalogu zgodnie z opisem we include
właściwości
+ node_modules/
- package.json
- tsconfig.json
- src/
- app.ts
- typings.d.ts
Jak w wielu odpowiedziach, możesz zdefiniować globalną deklarację dla wszystkich swoich plików JSON.
declare module '*.json' {
const value: any;
export default value;
}
ale wolę bardziej wpisaną wersję tego. Na przykład, powiedzmy, że masz config.json
taki plik konfiguracyjny :
{
"address": "127.0.0.1",
"port" : 8080
}
Następnie możemy zadeklarować dla niego określony typ:
declare module 'config.json' {
export const address: string;
export const port: number;
}
Łatwo jest zaimportować do plików maszynopisu:
import * as Config from 'config.json';
export class SomeClass {
public someMethod: void {
console.log(Config.address);
console.log(Config.port);
}
}
Jednak w fazie kompilacji należy ręcznie skopiować pliki JSON do folderu dist. Po prostu dodaję właściwość skryptu do mojej package.json
konfiguracji:
{
"name" : "some project",
"scripts": {
"build": "rm -rf dist && tsc && cp src/config.json dist/"
}
}