output.strictModuleExceptionHandling
का उपयोग करके आयात विफल होने पर त्रुटि को फेंकने के लिए वेबपैक 2 को कॉन्फ़िगर करना संभव है। कार्यक्षमता को इस पुल अनुरोध https://github.com/webpack/webpack/pull/3302 द्वारा जोड़ा गया था लेकिन इसे अभी तक दस्तावेज नहीं किया गया है। इसका इस्तेमाल करने के तरीके:
module.exports = {
entry: {
main: "./main.js",
},
output: {
filename: "[name].bundle.js",
strictModuleExceptionHandling: true
}
}
अब अगर मैं एक फ़ाइल जो मौजूद dosn't से आयात करने की कोशिश, या मैं एक आयात जो undefined
पर ले कर मैं webpack कंसोल में त्रुटि और चेतावनी संदेश मिलेगा बनाना:
WARNING in ./js/pedigree.js
32:35-49 "export 'default' (imported as 'DisorderLegend') was not found in './disorderLegend'
ERROR in ./js/pedigree.js
Module not found: Error: Can't resolve './OkCancelDialogue' in '/home/tim/workspace/projects/public/js/ext-lib/panogram/js'
@ ./js/pedigree.js 5:0-54
@ ./js/viewerPedigree.js
@ ./main.js
@ multi (webpack)-dev-server/client?http://localhost:8080 ./main.js
webpack: Failed to compile.
क्रोम कंसोल में आप इस तरह एक चेतावनी मिल जाएगा:
वेबपैक सादा जावास्क्रिप्ट है। अगर (! foo) नई त्रुटि फेंक दें ('someError'); – Hosar
मैं स्वचालित रूप से अधिक अर्थ था। मेरे पास ऐसे मामले हैं जहां मैंने गलत तरीके से 'foo' लिखा है और मुझे यह समझने में थोड़ी देर लग गई है कि समस्या क्या है। वेबपैक के रूप में देखकर इसे "आयात" करना पड़ता है, मुझे लगता है कि यह पता चलेगा कि यह परिभाषित है या नहीं? – joshhunt
मुझे यह भी पसंद है। सुनिश्चित नहीं है कि यह प्रासंगिक है: https://github.com/webpack/webpack/issues/1729 – maxedison