टाइपस्क्रिप्ट संस्करण 2.9+ का उपयोग करना आसान है। तो आप आसानी से JSON फ़ाइलों को @kentor के रूप में आयात कर सकते हैं ।
लेकिन अगर आपको पुराने संस्करणों का उपयोग करने की आवश्यकता है:
आप JSON फ़ाइलों को अधिक टाइपस्क्रिप्ट तरीके से एक्सेस कर सकते हैं। सबसे पहले, सुनिश्चित करें कि आपका नया typings.d.ts
स्थान include
आपकी tsconfig.json
फ़ाइल में मौजूद संपत्ति के समान है ।
यदि आपके पास आपकी tsconfig.json
फ़ाइल में शामिल संपत्ति नहीं है । तब आपकी फ़ोल्डर संरचना इस प्रकार होनी चाहिए:
- app.ts
+ node_modules/
- package.json
- tsconfig.json
- typings.d.ts
लेकिन अगर आपके पास एक include
संपत्ति है tsconfig.json
:
{
"compilerOptions": {
},
"exclude" : [
"node_modules",
"**/*spec.ts"
], "include" : [
"src/**/*"
]
}
तब आपकी निर्देशिका निर्देशिका typings.d.ts
में होनी चाहिए src
जैसा कि include
संपत्ति में वर्णित है
+ node_modules/
- package.json
- tsconfig.json
- src/
- app.ts
- typings.d.ts
प्रतिक्रिया के कई के रूप में, आप अपनी सभी JSON फ़ाइलों के लिए एक वैश्विक घोषणा को परिभाषित कर सकते हैं।
declare module '*.json' {
const value: any;
export default value;
}
लेकिन मैं इसके एक अधिक टाइप किए गए संस्करण को पसंद करता हूं। उदाहरण के लिए, मान लें कि आपके पास कॉन्फ़िगरेशन फ़ाइल config.json
जैसी है:
{
"address": "127.0.0.1",
"port" : 8080
}
फिर हम इसके लिए एक विशिष्ट प्रकार की घोषणा कर सकते हैं:
declare module 'config.json' {
export const address: string;
export const port: number;
}
आपकी टाइपस्क्रिप्ट फ़ाइलों में आयात करना आसान है:
import * as Config from 'config.json';
export class SomeClass {
public someMethod: void {
console.log(Config.address);
console.log(Config.port);
}
}
लेकिन संकलन चरण में, आपको मैन्युअल रूप से JSON फ़ाइलों को अपने डिस्ट फ़ोल्डर में कॉपी करना चाहिए। मैं अपने package.json
विन्यास में एक स्क्रिप्ट संपत्ति जोड़ता हूं :
{
"name" : "some project",
"scripts": {
"build": "rm -rf dist && tsc && cp src/config.json dist/"
}
}