Неправильная конфигурация производства и разработки Webpack - PullRequest
0 голосов
/ 29 марта 2019

Я видел эту ошибку везде на stackoverflow, но у меня ничего не работает. Я пытаюсь запустить веб-пакет в режиме разработчика и производства, но я получаю эту ошибку при запуске webpack ---config webpack.dev.js --watch

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property '1'. These properties are valid:
   object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry?, externals?, loader?, mode?, module?, name?, node?, optimization?, output?, parallelism?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, serve?, stats?, target?, watch?, watchOptions? }
   For typos: please correct them.
   For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.
     Loaders should be updated to allow passing options via loader options in module.rules.
     Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
     plugins: [
       new webpack.LoaderOptionsPlugin({
         // test: /\.xxx$/, // may apply this only for some modules
         options: {
           1: …
         }
       })
     ]

Вот как все настроено:

webpack.base.js

var path = require('path');
var webpack = require('webpack');
var BundleTracker = require('webpack-bundle-tracker');

module.exports = [{
  entry: './assets/js/script',
  plugins: [
    new BundleTracker({filename: './webpack-stats.json'})
  ],

  module: {
    rules: [
      { test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader'},
    ],
  },

  resolve: {
    modules: ['node_modules', 'bower_components', path.resolve(__dirname, 'assets/js/'),],
    extensions: ['.js', '.jsx']
  }
},{
  context: __dirname,
  entry: './assets/scss/style.scss',
  module: {
    rules: [
      {
        test: /\.css$/,
        loaders: [
          'style-loader',
          'css-loader',
        ],
      },
      {
        test: /\.scss$/,
        loaders: [
          'style-loader',
          'css-loader',
          'sass-loader',
        ],
      },
      {
        test: /\.(svg)(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader?limit=100000',
      },
      {
        test: /\.(jpg|png)?$/,
        loaders: [
          'file-loader?name=i-[hash].[ext]',
        ],
      },
    ]
  }
}]

webpack.dev.js

var path = require('path');
var webpack = require('webpack');
var base = require("./webpack.base");
var merge = require("webpack-merge");
var BundleTracker = require('webpack-bundle-tracker');

module.exports = merge(base, [{
  mode: "development",
  output: {
      path: path.resolve('./assets/js/min/'),
      filename: "[name].js"
  },
},{
  mode: "development",
  output: {
      path: path.resolve('./assets/scss/min/'),
      filename: "[name].js"
  },
}]);

webpack.prod.js:

var path = require('path');
var webpack = require('webpack');
var base = require("./webpack.base");
var merge = require("webpack-merge");
var BundleTracker = require('webpack-bundle-tracker');

module.exports = merge(base, [{
  mode: "production",
  output: {
      path: path.resolve('./assets/js/min/'),
      filename: "[name].[contentHash].js"
  },
},{
  mode: "production",
  output: {
      path: path.resolve('./assets/scss/min/'),
      filename: "[name].[contentHash].js"
  },
}]);

Я знаю, что настройка конфигурации необычна, но она работала, когда все было в одном файле. Что я могу сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...