Tsconfig.json में लक्ष्य क्या है?


95

क्या करता है targetमें tsconfig.jsonदर्शाता?

{
  "compilerOptions": 
  {
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs",
    "jsx": "react",
    "moduleResolution": "classic",
    "lib": [ "es2015", "dom",  "es2017" ]
  }
}

जवाबों:


112

मैं टाइपस्क्रिप्ट के लिए काफी नया हूं। Tsconfig.json में लक्ष्य क्या दर्शाता है?

targetयह दर्शाता है कि दिए गए टाइपस्क्रिप्ट से जावास्क्रिप्ट का कौन सा लक्ष्य उत्सर्जित होना चाहिए । उदाहरण:

target:es5

()=>nullबन जाएगा function(){return null}क्योंकि ES5 में तीर फ़ंक्शन नहीं हैं।

target:es6

()=>nullहो जाएगा ()=>nullके रूप में ES6 तीर कार्य करती है।


5
क्या मुझे अभी भी बेबल की आवश्यकता है यदि मैं es5 को लक्षित करता हूं, तो मेरे टाइपस्क्रिप्ट कोड में async और प्रतीक्षा है, यदि मैं es5 के रूप में लक्ष्य देता हूं तो क्या वह संकलन करेगा?
अंकित रोनका

4
उस के लिए बेबल की जरूरत नहीं है
arat

मैं उपयोग कर रहा था, es5लेकिन यह विनाशकारी [...arr].mapरूप में व्याख्या करता है arr.slice().map, जो सरणी जैसी वस्तु के लिए टूटता है जो कि नहीं है slice। जब मैं es6 को लक्षित करता हूं, तो यह मेरे ब्राउज़र में काम करना शुरू कर देता है, लेकिन क्या यह सभी के लिए काम करेगा?
क्वर्टी

1
@ क्वर्टी नहीं, यह नहीं होगा। उदाहरण के लिए, यह Internet Explorer 11 में काम नहीं करेगा, क्योंकि यह es6 का समर्थन नहीं करता है और इसमें .map फ़ंक्शन नहीं है। यहां तक ​​कि अगर आप es5 को लक्षित करते हैं, तो यह इंटरनेट एक्सप्लोरर में काम नहीं करेगा, क्योंकि यह पॉलीफ़िल को जोड़ने के लिए ट्रांसपिलर का काम नहीं है। यदि आपको गैर- es6 ब्राउज़रों का समर्थन करना है, तो भी आपको एक पॉलीफ़िल जोड़ना होगा।
पैबाम्स

1
@ क्वर्टी वेल, जो मैं कह रहा हूं कि टाइपस्क्रिप्ट ट्रांसप्लिमेंटेशन आपके लिए अनुपलब्ध तरीके नहीं देता है, यह केवल सिंटैक्स का ध्यान रखता है। यह सूत्र इसे अच्छी तरह से समझाता है: github.com/frankwallis/plugin-typescript/issues/166
pabrams

10

लक्ष्य आपके द्वारा संकलित किए जा रहे जावास्क्रिप्ट संस्करण को बदल देता है।

विकल्प https://www.typescriptlang.org/docs/handbook/compiler-options.html पर उपलब्ध हैं

बेहतर तरीके से यह समझने की कोशिश करने की भावना में कि लक्ष्य ध्वज मेरे कोड को कैसे बदलता है मैंने मतभेदों की बेहतर समझ रखने के लिए विभिन्न संस्करणों में से प्रत्येक के लिए कुछ परीक्षण कोड संकलित किए।

https://github.com/aizatto/typescript-playground/tree/master/dist/test-async-main

मैं यह भी नोट कर रहा हूं कि मुझे जो माहौल दिख रहा है, उसके आधार पर मुझे क्या लक्ष्य बनाना चाहिए

https://www.aizatto.com/notes/typescript

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.