2017-08-29 32 views
5

टाइपस्क्रिप्ट पूरे कोडबेस को पारदर्शी पर जांचता है, भले ही केवल एक फ़ाइल वास्तव में बदल गई हो। छोटी परियोजनाओं के लिए, यह ठीक है, फिर भी जब से हमारा कोडबेस बढ़ता है, इसमें काफी लंबा समय लगता है।क्या पारदर्शी गति को बढ़ाने के लिए टीएससी के माध्यम से टाइपस्क्रिप्ट को पार करते समय टाइप चेक अक्षम करना संभव है?

विकास के दौरान, मुझे अपने यूनिट परीक्षणों का त्वरित प्रतिक्रिया समय चाहिए। यूनिट परीक्षण जितनी जल्दी हो सके चलाना चाहिए।

दुर्भाग्य से, मैं प्रत्येक लगभग 10-15 सेकंड चलाने पर प्रतीक्षा करने के लिए के लिए इकाई परीक्षण भी शुरू करने के लिए के रूप में tsc एक लंबे समय transpile पर ले जाता है, और उस समय 60% -80% की जाँच पर खर्च कर रहा है।

ये उदाहरण रन दूर करने और एक फ़ाइल में एक नई पंक्ति जोड़ने से सिर्फ कर रहे हैं:

बस ठीक के रूप में सब कुछ का इलाज और बस डंप:

yarn tsc v0.27.5 
$ "/home/philipp/fancyProject/node_modules/.bin/tsc" "--watch" "--diagnostics" 
Files:   511 
Lines:  260611 
Nodes:  898141 
Identifiers: 323004 
Symbols:  863060 
Types:  302553 
Memory used: 704680K 
I/O read:  0.17s 
I/O write:  0.09s 
Parse time: 2.61s 
Bind time:  0.95s 
Check time: 7.65s 
Emit time:  1.45s 
Total time: 12.65s 
00:35:34 - Compilation complete. Watching for file changes. 


00:41:58 - File change detected. Starting incremental compilation... 


Files:   511 
Lines:   260612 
Nodes:   898141 
Identifiers: 323004 
Symbols:  863060 
Types:   302553 
Memory used: 1085950K 
I/O read:  0.00s 
I/O write:  0.04s 
Parse time:  0.68s 
Bind time:  0.00s 
Check time: 12.65s 
Emit time:  1.36s 
Total time: 14.69s 
00:42:13 - Compilation complete. Watching for file changes. 


00:42:17 - File change detected. Starting incremental compilation... 


Files:   511 
Lines:   260611 
Nodes:   898141 
Identifiers: 323004 
Symbols:  863060 
Types:   302553 
Memory used: 1106446K 
I/O read:  0.00s 
I/O write:  0.12s 
Parse time:  0.32s 
Bind time:  0.01s 
Check time:  9.28s 
Emit time:  0.89s 
Total time: 10.50s 
00:42:27 - Compilation complete. Watching for file changes. 

मुझे आश्चर्य है अगर वहाँ एक रास्ता टाइपप्रति बताने के लिए है जावास्क्रिप्ट जितनी जल्दी हो सके डिस्क पर।

मैं पहले यह सुनिश्चित करना चाहता हूं कि मेरा यूनिट परीक्षण त्वरित प्रतिक्रिया पाश प्राप्त करने के लिए पास हो।

और चूंकि मेरा आईडीई उस फाइल के भीतर पहले से ही चेक चेक का ख्याल रखता है, जिस पर मैं वर्तमान में काम कर रहा हूं, मुझे शायद ही कभी पारदर्शी की जांच में गलती हो। और यदि कोई बड़ी समस्या थी, तो मेरे यूनिट परीक्षणों को उन्हें पकड़ना चाहिए।

प्रोजेक्ट का निर्माण करते समय, मैं चेक के साथ क्लासिक टीएससी का उपयोग करता हूं। जैसा कि मैंने कहा है, यह केवल विकास के लिए है और त्वरित प्रतिक्रिया पाश है।

+0

[Ts-loader] के साथ वेबपैक (https://github.com/TypeStrong/ts-loader) recompiles केवल उस फ़ाइल और फ़ाइलों को बदलता है जो इस पर निर्भर करते हैं बदली गई फाइल [यहां] (https://github.com/Microsoft/TypeScript-Vue-Starter#typescript-vue-starter) आप नमूना विन्यास पा सकते हैं। –

+0

@AlekseyL। क्या आप टीएस लोडर का उपयोग करने के तरीके में अधिक जानकारी के साथ अपनी टिप्पणी को उत्तर में विस्तारित कर सकते हैं? – k0pernikus

उत्तर

0
  1. प्रारंभ webpack
  2. का उपयोग कर
  3. जोड़े awesome-typescript-loader
  4. सेट transpileOnlytrue

के लिए सेटिंग में इसके अलावा, आप अन्य paramers बदल सकते हैं, जो गति को बढ़ावा देने के कर सकते हैं: ignoreDiagnostics, forceIsolatedModules, आदि

+0

क्या आप आवश्यक कॉन्फ़िगरेशन परिवर्तनों का अधिक गहराई से संस्करण जोड़ सकते हैं? (मेरे पास पहले से ही वेबपैक भी है, टीएस फाइलों के लिए भी, और यह पता लगाने में कठिनाई हो रही है कि यह कहां और कैसे सामग्री को प्रभावित करता है। – k0pernikus

+0

वेबपैक या भयानक-टाइपस्क्रिप्ट-लोडर दस्तावेज का कौन सा हिस्सा आपको समझ में नहीं आता है? – lesyk

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