2017-09-02 11 views
8

ऐसा लगता है जैसे वेबपैक उन उपकरणों को चलाता है जो सीधे उन उपकरणों के एपीआई का उपयोग करने के बजाय "लोडर" के माध्यम से कोड को बदलते हैं। यह उन उपकरणों पर अमूर्तता की एक परत जोड़ता है जो कभी-कभी साधनों के एपीआई पूरी तरह से उजागर नहीं होते हैं या टूल्स में अपडेट लोडर में अपडेट होने में समय लगता है। Here's a more detailed description of the problemमैं प्रत्येक फ़ाइल प्रकार के लिए लोडर बनाए रखने के बिना वेबपैक के माध्यम से फ़ाइलों पर मनमाने ढंग से बैश स्क्रिप्ट कैसे चला सकता हूं?

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

उत्तर

1

I created a custom Webpack loadershell-loader कहा जाता है जो एक मनमाने ढंग से खोल स्क्रिप्ट लेता है और इसे child_process.exec का उपयोग करके लोड होने वाली प्रत्येक फ़ाइल की सामग्री पर चलाता है। मैं इसे webpack.config.js में इस तरह उपयोग कर सकता हूं;

{ 
    test: /.*\.css$/, 
    use: [ 'css-loader', { loader: 'shell-loader', options: { 
    script: 'postcss --use autoprefixer' 
    }} ] 
} 

यह अवधारणा का एक सबूत के रूप में काम करने के लिए, लगता है, लेकिन मुझे यकीन है कि अगर यह एक अच्छा विचार है जब Webpack के साथ काम नहीं कर रहा हूँ, या अगर मैं चीजों को एक साथ हैकिंग कर रहा हूँ कि वे करने के लिए नहीं कर रहे थे हो।

+0

नोट: जब आप अपनी इच्छित स्क्रिप्ट चलाने के लिए इसका उपयोग कर सकते हैं, तो मैं इसे पोस्टसीएसएस के लिए उपयोग नहीं करता, क्योंकि पोस्टकैस के पास पहले से ही वेबपैक लोडर अच्छे हैं। https://github.com/postcss/postcss-loader –

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

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