मैं अपने मौजूदा Asp.Net MVC परियोजना के लिए टाइपप्रति जोड़ सकता हूँ?

वोट
41

मैं टाइपप्रति के पीछे विचार प्यार करता हूँ, लेकिन यह पता लगाने की कैसे एक ASP.Net MVC परियोजना में शामिल नहीं कर पा रहे। मैं पहले से ही दृश्य स्टूडियो एक्सटेंशन स्थापित किया गया है, लेकिन मैं एक उदाहरण है या कैसे जोड़ने के बारे में दस्तावेज़ प्राप्त नहीं कर पा रहे *.tsफ़ाइलें जो में संकलित *.jsफ़ाइलें।

संपादित करें: वास्तव में, मैं जिस तरह से कि Win8 उदाहरण दोहराने चाहिए .jsprojभी शामिल है और संभालती .tsफ़ाइलें? या कि केवल HTML / JS Win8 परियोजनाओं के लिए काम करेंगे?

01/10/2012 को 21:22
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


6 जवाब

वोट
24

चेतावनी: इस उत्तर अब काफी, दिनांकित है के रूप में दोनों टाइपप्रति और MVC इस जवाब के बाद से काफी बदल गया है। मैं एक अद्यतन बाद में कोशिश करेंगे। - Richcoder

धन्यवाद करने के लिए Sohnee जवाब के लिए।

आपको जोड़ें> नया आइटम संवाद का उपयोग करके एक मौजूदा परियोजना के लिए टाइपप्रति फ़ाइलें जोड़ सकते हैं। exampleImage कृपया ध्यान दें कि 'टाइपप्रति फ़ाइल' आइटम वेब समूह के तहत, लेकिन यह इस मामले विजुअल C # में माता-पिता है के तहत रहते हैं नहीं करता है।

यह एक टाइपप्रति फ़ाइल जोड़ना चाहिए और विजुअल स्टूडियो बाकी करेंगे।

तो फिर तुम परियोजना फ़ाइल में ये पंक्तियां जोड़ने की जरूरत है:

 <ItemGroup>
    <AvailableItemName Include="TypeScriptCompile" />
 </ItemGroup>
 <ItemGroup>
    <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
 </ItemGroup>
 <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" IgnoreExitCode="true" />
 </Target>

यह मेरे लिए पूरी तरह से काम किया है, लेकिन अगर आप कोई समस्या आने पर टिप्पणी करें।

03/10/2012 को 00:38
का स्रोत उपयोगकर्ता

वोट
19

वह सही है। आप सभी की जरूरत एमएस लक्ष्य का निर्माण .js फ़ाइलों में .ts फ़ाइलों का निर्माण करना है। Win8 उदाहरण itemGroup TypeScriptCompile है, जो $ (ProjectDir) *** के रूप में परिभाषित किया गया है से संबंधित सभी फाइलों पर tsc कॉल करने के लिए एक beforeBuild लक्ष्य को दर्शाता है। Ts (या अपनी परियोजना में सभी .ts फ़ाइलें)।

इस पैटर्न को दोहराने वाला किसी भी MSBuild परियोजना में काम करना चाहिए, और न केवल Win8 परियोजनाओं।

यहाँ मैं क्या बात कर रहा हूँ का एक नमूना है: किसी भी MSBuild परियोजना को यह जोड़ें, और आप किसी भी .ts equivialnt .js फ़ाइल में फ़ाइल जब अपने निर्माण शुरू होता है संकलन किया जाना चाहिए ..

<ItemGroup> 
   <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>


<Target Name="TypeScriptCompile" BeforeTargets="Build">
   <Message Text="Compiling TypeScript files" />
   <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>
01/10/2012 को 23:14
का स्रोत उपयोगकर्ता

वोट
7

मैं एक साथ एक nuget पैकेज है कि अपनी परियोजना के लिए एक MSBuild लक्ष्य फ़ाइल कहते हैं फेंक दिया। यह tsc संकलक चलाने के लिए और ताकि आप दोगुना दृश्य स्टूडियो में त्रुटियों पर क्लिक करें और फ़ाइल / लाइन / स्तंभ पर जा सकते हैं इसके उत्पादन को साफ करेंगे।

https://www.nuget.org/packages/Sholo.TypeScript.Build

तुम कुछ भी है कि आप को संकलित करने के tsc चाहते हैं के लिए 'TypeScriptCompile' के लिए गुण विंडो में कार्रवाई बिल्ड सेट करना होगा। टाइपप्रति को संवारता के कुछ ही दिनों से, मैंने पाया .ts फ़ाइलों को संदर्भित कर रहे हैं TypeScriptCompile सेट किया जाना चाहिए, लेकिन फ़ाइलों को केवल संदर्भ दिया जा नहीं करना चाहिए, लेकिन YMMV। इसके अलावा, आप सभी फ़ाइलें दिखाएँ और मूल .js फ़ाइल जोड़ने के लिए आवश्यकता हो सकती है। आप समूह से संबंधित .ts / .js / .d.ts चाहते हैं एक साथ फ़ाइलें, VsCommands विस्तार पर एक नज़र डालें। कार्यप्रवाह भी NetDemon / समान एक्सटेंशन के साथ बहुत अच्छा है।

04/10/2012 को 01:55
का स्रोत उपयोगकर्ता

वोट
4

आप उपयोग कर रहे हैं बंडलिंग और minification , मैं सिर्फ IBundleTransform का कार्यान्वयन और जावास्क्रिप्ट को टाइपप्रति संकलित जारी किया है। यह पर है GitHub और NuGet (स्थापित-पैकेज TypeScriptBundleTransform)। यदि आपने अभी तक बंडलिंग और minification का उपयोग नहीं कर रहे हैं, तो यह एक नज़र लायक है!

07/10/2012 को 23:51
का स्रोत उपयोगकर्ता

वोट
3

अद्यतन करें:

बस स्थापित वेब अनिवार्य 2012 प्लगइन, आप को बचाने के लिए स्वत: संकलन होगा - दोनों .js और .min.js और एक साफ विभाजित दृश्य जावास्क्रिप्ट उत्पादन को देखने के लिए अपने टाइपप्रति कोड के बगल में।


यह एक कच्चे विधि मैं प्रयोग कर रहे है:

राइट अपने प्रोजेक्ट क्लिक करें> गुण> घटनाक्रम का निर्माण

Prebuild बॉक्स इस पेस्ट (रिकर्सिवली परियोजना में सभी .ts फ़ाइलें बनाता है):

forfiles /S /P $(ProjectDir) /m *.ts /c "cmd /c tsc @file"

विशिष्ट प्रविष्टि फ़ाइल के निर्माण के लिए:

tsc $(ProjectDir)MyScripts/myfile.ts

मुझे यकीन है कि वहाँ यह करने का एक बेहतर तरीका है हूँ।

02/10/2012 को 02:10
का स्रोत उपयोगकर्ता

वोट
0

आप उपयोग कर रहे हैं माइक्रोसॉफ्ट ASP.NET वेब अनुकूलन फ्रेमवर्क (उर्फ बंडलिंग और minification), तो उपयोग करने का प्रयास बंडल ट्रांसफार्मर स्थापित मॉड्यूल के साथ BundleTransformer.TypeScript । : जे एस के लिए टाइपप्रति-कोड के संकलन के अलावा, आप भी बंडल ट्रांसफार्मर के अन्य मॉड्यूल का उपयोग करके जनरेट जे एस-कोड के minification उत्पादन कर सकते हैं BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer। UglifyJs और BundleTransformer.Packer

19/10/2012 को 17:43
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more