2016-12-22 8 views
5

मैं जावास्क्रिप्ट बंडल में टाइपस्क्रिप्ट स्रोतफाइल संकलित करने के लिए वेबपैक लोडर ts-loader का उपयोग कर रहा हूं। अब मैं व्यक्तिगत संकलित जावास्क्रिप्ट फ़ाइलों को भी सहेजना चाहता हूं, साथ ही साथ बंडल भी! मैं एक बहुत ही सरल वेबपैक प्लगइन लिखने के साथ familliar हूँ, लेकिन मुझे यकीन नहीं है कि इसे लागू करने के बारे में कैसे जाना है। यही है: मुझे नहीं पता कि वेबपैक द्वारा कौन सी घटनाएं ट्रिगर हुईं और प्रासंगिक डेटा कहां मिलें। कोई मदद?वेबपैक आउटपुट व्यक्तिगत संकलित फाइलों को बंडल के अलावा

+0

आप अलग-अलग वेबपैक संकलित फ़ाइलों का उपयोग नहीं कर सकते हैं। यह 'अनकॉल्ड रेफरेंस एरर' के साथ तोड़ सकता है: __webpack_require__ को परिभाषित नहीं किया गया है ' – Thaadikkaaran

+0

लेकिन मुझे लगता है कि वेबपैक कोड में कुछ भी बदलने के पहले पहले टाइपस्क्रिप्ट कंपाइलर के साथ जेएस को टीएस-लोडर संकलित करता है जैसे कि सही है? मैं बस उन अलग जेएस फाइलों को चाहता हूं – Flion

उत्तर

2

जैसा कि मैंने टिप्पणी की, आप वेबपैक संकलित व्यक्तिगत फ़ाइलों का उपयोग नहीं कर सकते हैं। यह Uncaught ReferenceError: __webpack_require__ is not defined के साथ तोड़ सकता है।

बेहतर ढंग से अपना खुद का loader लिखें या ts-loader से पूछें ताकि पारदर्शी स्रोत को बनाए रखने के विकल्प प्रदान किए जा सकें।

या मैंने loader लिखा है जो टाइपस्क्रिप्ट संकलित फ़ाइलों को व्यक्तिगत फ़ाइलों के रूप में सहेज सकता है।

आप के रूप में एक दूसरे लोडर के रूप में नीचे

से पता चला इस लोडर दूसरा लोडर या बाद लोडर का उपयोग कर सकते हैं:

module: { 
    loaders: [{ 
     test: /\.ts?$/, 
     loaders: ['scatter-loader', 'ts-loader'] 
    }] 
} 

या पोस्ट-लोडर के रूप में

module: { 
    loaders: [{ 
     test: /\.ts?$/, 
     loaders: ['ts-loader'] 
    }], 
    postLoader: [{ 
     test: /\.ts?$/, 
     loaders: ['scatter-loader'] 
    }] 
} 

नोट:scatter-loader काम प्रगति पर है।

+0

आह ठंडा आप वास्तव में इसके लिए पहले से ही एक लोडर लिखा है, यह जांच लेंगे! – Flion

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