Webpack (v 3.0.0) ошибка validateSchema в режиме разработки - PullRequest
0 голосов
/ 02 июня 2018

Вчера я установил webpack-cli, он хорошо работал с react и другими пакетами, сегодня я просто хочу снова настроить мой файл конфигурации webpack, но когда я запускаю webpack-dev-server через npm, он просто выплевывает этоошибка:

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/*"
  },

Вот мой webpack.config.js:

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, и увидел, что прошло всего 5 часов после выпуска webpack-cli version 3:

enter image description here

Я долженобратите внимание, что когда я запускаю npm run build, он просто создает папку и все работает, но я не могу запустить в режиме разработки и увидеть результат в браузере.

Я знаю, что если я понижаю свой webpack cli до предыдущей версии, он должен работать, но вопрос в том, что это за ошибка и как ее можно решить?(поскольку пакеты Node обновляются часто, необходимо быть в курсе, верно?)

Ответы [ 4 ]

0 голосов
/ 10 июня 2018

Через некоторое время, сегодня, я решил проверить это снова, и я больше не видел такой проблемы.Я должен отметить, что сегодня, когда я установил webpack-cli, npm установил webpack cli версию "webpack-cli": "^3.0.3" и, похоже, проблема исчезла.

Спасибо группе webpack за решение этой проблемы и спасибо всем за ответы:

@ loveky и @ Джулиан Тельес и @ Эвен Андре Стенсберг и @ Джонни Асмар

0 голосов
/ 02 июня 2018

Мне удалось решить эту проблему, переключившись на новый веб-пакет (https://github.com/webpack-contrib/webpack-serve).

. По моему опыту, это была очень простая замена 1-1, в которой мне потребовалось только изменитькоманда cli, используемая для загрузки webpack-dev-server на webpack-serve.

Я открыл запрос на изменение, который должен быть освещен в README для webpack-serve: https://github.com/webpack-contrib/webpack-serve/issues/158

0 голосов
/ 03 июня 2018

Попробуй webpack-cli v3.0.1, буду работать.

0 голосов
/ 02 июня 2018

Новая версия webpack-cli добавляет webpack к глобальному объекту процесса.Это приводит к сбою приложений, таких как webpack-dev-derver, поскольку предполагается, что в текущем процессе доступно process.webpackModule.

Я создал запрос на извлечение, чтобы решить эту проблему тоже https://github.com/webpack/webpack-cli/pull/478

...