2012-10-03 13 views

उत्तर

9

अपनी प्रोजेक्ट फ़ाइल में आपको टाइपस्क्रिप्ट फ़ाइलों का निर्माण करने वाले एमएसबिल्ड लक्ष्य को बदलने की आवश्यकता होगी। यदि आप "टाइपस्क्रिप्ट के साथ निर्मित एचटीएमएल एप्लिकेशन" के लिए डिफ़ॉल्ट टेम्पलेट का उपयोग कर रहे हैं, तो अपनी प्रोजेक्ट को अनलोड करें, प्रोजेक्ट फ़ाइल को संपादित करें, आपको "फर्स्टबिल्ड" नामक एक लक्ष्य मिलेगा जो "$ (PROGRAMFILES) \ Microsoft SDKs \ TypeScript पर कंपाइलर को कॉल कर रहा है \ 0.8.0.0 \ tsc ", जोड़ें - मॉड्यूल इसके लिए amd; अपनी परियोजना को सहेजें और पुनः लोड करें। अगली बार जब आप निर्माण करते हैं तो आपको संकलक को सही ढंग से पारित आदेश तर्क देखना चाहिए।

+2

ऐसा लगता है कि वे या तो टीएस 0.8.1 या में, इस कॉन्फ़िगर करने के लिए एक विकल्प जोड़ दिया वेब अनिवार्यता के हिस्से के रूप में। ओपन टूल्स-> विकल्प और वेब अनिवार्यताओं के अंतर्गत देखो-> टाइपस्क्रिप्ट। –

+0

दस्तावेज़ों को बड़े समय में सुधार की जरूरत है! – Nikos

+8

@MortenMertner - और अब उन्होंने इसे फिर से हटा दिया है। अब यह इतना आसान नहीं बनाना चाहते हैं, क्या हम? –

8

नवीनतम विजुअल स्टूडियो 2013 अपडेट 3 + वेबइसेन्शियल पर विकल्प अब (अंततः) परियोजना विकल्प फलक में ठीक से स्थानांतरित हो गए हैं (प्रोजेक्ट पर राइट क्लिक करें -> विकल्प -> टाइपस्क्रिप्ट बिल्ड फलक)।

+1

हां, वीएस2013 अपडेट 3 में अब प्रोजेक्ट गुणों में टाइपस्क्रिप्ट बिल्ड टैब है, लेकिन "फाइल में जावास्क्रिप्ट आउटपुट को संयोजित करें" की जांच करना टीएससी कमांड लाइन को बिल्कुल नहीं बदलता है। – dthorpe

5

इस समस्या क्योंकि यहां तक ​​कि टीएस 1.0 के लिए अभी भी वास्तविक है और वी.एस. 2013 अद्यतन 3 के लिए WebEssentials, यहाँ इस समाधान की जाँच करें: http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html या शीघ्र ही:

1) प्रोजेक्ट फ़ाइल खोलें।

2) लगता है इस लाइनों:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> 

3) से पहले इस लाइनों सम्मिलित करें:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
+1

अच्छी चाल! यदि आप 'डीबग' और 'रिलीज' दोनों के लिए 'amd' का उपयोग करना चाहते हैं तो आपको एक शर्त निर्दिष्ट करने की आवश्यकता नहीं है और आपको दो संपत्ति समूहों की आवश्यकता नहीं है। आपके पास 'TypeScriptToolsVersion' नामक एक तत्व होगा, इसके बाद आप सीधे 'टाइपस्क्रिप्ट मॉड्यूलकिंड' जोड़ सकते हैं, यह ठीक काम करता है। यह वास्तव में अच्छा है क्योंकि अब यह आपके प्रोजेक्ट कॉन्फ़िगरेशन का हिस्सा है। इसे मेजबान मशीन पर वैश्विक वातावरण को बदलने की आवश्यकता नहीं है (जो लक्ष्य फ़ाइलों को संशोधित करेगा)। –

संबंधित मुद्दे