2017-03-07 14 views
5

मैं वेबपैक 2 का उपयोग करके एक्स्ट्रेक्ट-टेक्स्ट-वेबपैक-प्लगइन को कार्यान्वित करने की कोशिश कर रहा हूं और मैं स्क्रैच से अपना webpack.config.js बना रहा हूं। जब मैं प्लगइन जोड़ना चाहता था तो मैंने npm पर निर्देशों का पालन किया।अपरिभाषित निकालने-टेक्स्ट-वेबपैक-प्लगइन की संपत्ति 'क्वेरी' नहीं पढ़ सकता

TypeError: Cannot read property 'query' of undefined

मैं देख ली है और किसी और को इस प्लगइन के साथ एक ही समस्या हो रही पकड़ नहीं किया: हालांकि यह मुझे निम्न त्रुटि देता है। मैं पहले पूछूंगा कि क्या यह एक बग मानने से पहले मैंने गलती की है या नहीं।

मेरे webpack.config.js

const path = require('path'); 
const webpack = require('webpack'); 
const ExtractTextPlugin = require("extract-text-webpack-plugin"); 
module.exports = { 
    context: path.resolve(__dirname, './src'), 
    entry: { 
    app: './main.js', 
    }, 
    output: { 
    path: path.resolve(__dirname, './dist'), 
    filename: '[name].bundle.js', 
    }, 
    module: { 
    rules: [ 
     { 
     test: /\.js$/, 
     exclude: [/node_modules/], 
     use: [{ 
      loader: 'babel-loader', 
      options: { presets: ['es2015'] } 
     }] 
     }, 
     { 
     test: /\.(sass|scss)$/, 
     use: [ 
      'style-loader', 
      'css-loader', 
      'sass-loader', 
     ] 
     }, 
     { 
     test: /\.css$/, 
     use: ExtractTextPlugin.extract({ 
      fallback: "style-loader", 
      use: "css-loader" 
     }) 
     } 
    ] 
    }, 
    plugins: [ 
    new ExtractTextPlugin("styles.css"), 
    ], 
}; 

है और पूर्ण त्रुटि

/node_modules/extract-text-webpack-plugin/index.js:134 
    if(!loader.query) return loader.loader; 
      ^

TypeError: Cannot read property 'query' of undefined 
    at getLoaderWithQuery (/node_modules/extract-text-webpack-plugin/index.js:134:12) 
    at Array.map (native) 
    at Function.ExtractTextPlugin.extract (/node_modules/extract-text-webpack-plugin/index.js:201:4) 
    at Object.<anonymous> (/webpack.config.js:33:32) 
    at Module._compile (module.js:556:32) 
    at Object.Module._extensions..js (module.js:565:10) 
    at Module.load (module.js:473:32) 
    at tryModuleLoad (module.js:432:12) 
    at Function.Module._load (module.js:424:3) 
    at Module.require (module.js:483:17) 

उत्तर

8

आप extract-text-webpack-plugin के एक पुराने संस्करण का उपयोग कर रहे है, इस की पहली रिलीज उम्मीदवार से पहले हटा दिया गया है । आपके पास शायद बीटा संस्करण है।

के साथ नवीनतम संस्करण स्थापित करें:

npm install --save-dev [email protected] 

या Yarn के साथ चला सकते हैं:

yarn upgrade extract-text-webpack-plugin 
+0

का उपयोग करें, मुझे लगता है कि एनपीएम पर उनकी मार्गदर्शिका का पालन करके मुझे सबसे हालिया संस्करण मिल जाएगा? वेबपैक 2 के लिए, "इंस्टॉल" के तहत यह कहता है; '' npm अधिष्ठापन - सेव-देव निकालने-पाठ-वेबपैक-प्लगइन''' इसलिए मैंने माना कि यह ठीक होगा। धन्यवाद! – Kevin

+0

यह होना चाहिए, लेकिन अगर आपने इसे पहले ही इंस्टॉल किया था, तो एनपीएम अर्थपूर्ण संस्करण योजना का सम्मान करेगा। तो अगर यह एक सटीक संस्करण था (बिना '^' के), तो वह उस संस्करण पर ही रहेगा। बिल्कुल वही नहीं है जो आप उम्मीद करेंगे। एक निर्भरता जोड़ते समय यार्न अलग-अलग व्यवहार करता है और वर्तमान के बावजूद हमेशा नवीनतम संस्करण का उपयोग करेगा। –

+0

कूल, अतिरिक्त जानकारी – Kevin

0

मैं ठीक उसी समस्या हुई। ध्यान दें कि वेबपैक 2.x केवल निकालने-पाठ-प्लगइन संस्करण के साथ काम करता है 2.1.2 वेबपैक 3 के लिए, संस्करण 3.0.0

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