कल मैंने webpack-cli स्थापित किया, इसने react और अन्य पैकेजों के साथ अच्छा काम किया, आज मैं बस अपनी वेबपैक कॉन्फ़िगरेशन फ़ाइल फिर से सेट करना चाहता हूं, लेकिन जब मैं एनपीएम के माध्यम से वेबपैक-देव-सर्वर चलाता हूं तो यह सिर्फ थूकता है यह गलती:

K:\web\07_Webpack_Test\node_modules\webpack-cli\bin\convert-argv.js:7
const validateSchema = process.webpackModule.validateSchema;
                                             ^

TypeError: Cannot read property 'validateSchema' of undefined
    at Object.<anonymous> (K:\web\07_Webpack_Test\node_modules\webpack-cli\bin\convert-argv.js:7:46)
    at Module._compile (internal/modules/cjs/loader.js:678:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
    at Module.load (internal/modules/cjs/loader.js:589:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
    at Function.Module._load (internal/modules/cjs/loader.js:520:3)
    at Module.require (internal/modules/cjs/loader.js:626:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (K:\web\07_Webpack_Test\node_modules\webpack-dev-server\bin\webpack-dev-server.js:234:15)
    at Module._compile (internal/modules/cjs/loader.js:678:30)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! 07_webpack_test@1.0.0 dev: `webpack-dev-server -d`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the 07_webpack_test@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Eric PC\AppData\Roaming\npm-cache\_logs\2018-06-02T07_12_22_842Z-debug.log

इसे चलाने के लिए मेरा आदेश यहां दिया गया है:

 "scripts": {
    "dev": "webpack-dev-server -d",
    "build": "npm run clear && webpack -p",
    "clear": "rimraf ./public/*"
  },

Atau jika Anda menginginkan ThreadPool Anda sendiri, Anda dapat membuatnya dengan Pelaksana: mis. Executors.newCachedThreadPool( ) (di antara konstruktor statis lainnya).

var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');


module.exports = {

  entry: {
    app: './src/js/app.jsx',
  },

  output: {
    path: path.resolve(__dirname , 'public'),
    filename: '[name].bundle.js'
  },

  module: {

    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: 'babel-loader'
      },
      {
        test: /\.scss$/,
        use : ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: ['css-loader' , 'sass-loader'],
          publicPath: "/public"
        })
      }
    ]

  },


  resolve: {
    extensions: ['.js', '.jsx'] 
  },


  plugins: [

    new HtmlWebpackPlugin({
      title: 'React App',
      filename: 'index.html',
      template: './src/index.html'
    }),

    new ExtractTextPlugin({
      filename: 'app.css',
      disable: false,
      allChunks: true
    })

  ],


  devServer: {
    contentBase: '/public',
    compress: true,
    port: 3000,
    open: true,
    historyApiFallback: true,
    stats: 'errors-only'
  }

}

उस त्रुटि से जूझने के बाद मुझे अंततः पता चला कि webpack-cli के साथ एक संस्करण परिवर्तन हुआ था, कल मुझे webpack-cli 2.1.4 स्थापित किया गया था और आज मैंने version 3.0.0 स्थापित किया है। मैंने npm वेबसाइट पर संस्करणों की जाँच करके इसका पता लगाया और मैंने देखा कि webpack-cli version 3 जारी करने के बाद केवल 5 घंटे बीत रहे थे:

enter image description here

मुझे ध्यान देना चाहिए कि जब मैं npm run build चलाता हूं तो यह सिर्फ फ़ोल्डर बनाता है और सब कुछ काम करता है, लेकिन मैं विकास मोड में चलाने में असमर्थ हूं और ब्राउज़र में परिणाम देखता हूं।

मुझे पता है कि अगर मैं अपने वेबपैक क्ली को पिछले संस्करण में डाउनग्रेड करता हूं तो इसे काम करना चाहिए लेकिन सवाल यह है कि यह त्रुटि क्या है और मैं इसे कैसे हल कर सकता हूं? (जैसा कि नोड पैकेज अक्सर अपडेट किए जाते हैं, अप-टू-डेट होना आवश्यक है, है ना?)

2
a_m_dev 2 जून 2018, 10:32

4 जवाब

सबसे बढ़िया उत्तर

थोड़ी देर बाद, आज, मैंने इसे फिर से परखने का फैसला किया और मुझे अब ऐसी कोई समस्या नहीं दिखी। मुझे ध्यान देना चाहिए कि आज जब मैंने वेबपैक-क्ली स्थापित किया, एनपीएम ने वेबपैक क्ली संस्करण "webpack-cli": "^3.0.3" स्थापित किया और ऐसा लगता है कि समस्या दूर हो गई है।

इसे हल करने के लिए वेबपैक समूह को धन्यवाद, और उत्तर देने के लिए आप सभी का धन्यवाद:

@loveky और @ जूलियन टेललेज़ और @Even André Stensberg और @Jonny Asmar

1
halfer 5 अगस्त 2018, 18:40

वेबपैक-क्ली का नया संस्करण वेबपैक को वैश्विक प्रक्रिया वस्तु में जोड़ता है। यह webpack-dev-derver जैसे अनुप्रयोगों को तोड़ने का कारण बनता है क्योंकि यह मानता है कि process.webpackModule वर्तमान प्रक्रिया में उपलब्ध है।

मैंने इस समस्या को भी ठीक करने के लिए एक पुल अनुरोध बनाया है https://github.com/webpack/webpack-cli/pull/478

4
Julian Tellez 2 जून 2018, 15:17

वेबपैक-क्ली v3.0.1 आज़माएं, मैं काम करूंगा।

3
Even Stensberg 3 जून 2018, 09:03

मैं नए वेबपैक-सर्व (https://github पर स्विच करके इस समस्या को हल करने में सक्षम था। com/webpack-contrib/webpack-serve)।

मेरे अनुभव से, यह एक बहुत ही सरल 1-1 ड्रॉप-इन प्रतिस्थापन था जिसके लिए मुझे केवल वेबपैक-देव-सर्वर को लोड करने के लिए उपयोग किए जाने वाले क्ली कमांड को webpack-serve में बदलने की आवश्यकता थी।

मैंने एक संशोधन अनुरोध खोला है कि इसे वेबपैक-सर्व के लिए README में प्रकाशित किया जाना चाहिए: https://github.com/webpack-contrib/webpack-serve/issues/158

1
Jonny Asmar 2 जून 2018, 20:13