Подтвердить что ты не робот

У Configuration.resolve есть неизвестное свойство 'root'

Я получаю следующую ошибку:

Неверный объект конфигурации. Webpack был инициализирован с использованием объект конфигурации, который не соответствует схеме API.  - configuration.resolve имеет неизвестное свойство "root". Эти свойства действительны: object {alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, принудительно использоватьModuleExtension?, extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache?, useSyncFileSystemCalls? }

Я использую webpack 2.3.2.


Мой webpack.config.js выглядит следующим образом:

module.exports= {
  entry:'./public/app.jsx',
  output: {
    path: __dirname,
    filename:'./public/bundle.js'
  },
  resolve: {
    root: __dirname,
    alias:{
      Mod1: 'public/components/mod1.jsx',
      Mod2:'public/components/mod2.jsx',
      Mod3: 'public/components/mod3.jsx'
    },
    extensions: ['*','.js','.jsx']
  },
  module :{
    loaders:[{
      loader :'babel-loader',
      query :{
        presets:['react','es2015','es2017']
      },
      test:/\.jsx?$/,
      exclude:/(node_modules|bower_components)/
    }]
  }
};
4b9b3361

Ответ 1

resolve.root является конфигурацией Webpack 1 и не существует для Webpack 2.

Для Webpack 2 вы можете использовать resolve.modules: https://webpack.js.org/configuration/resolve/#resolve-modules

module.exports= {
  entry:'./public/app.jsx',
  output: {
    path: __dirname,
    filename:'./public/bundle.js'
  },
  resolve: {
    modules: [__dirname, 'node_modules'],
    alias:{
      Mod1: 'public/components/mod1.jsx',
      Mod2:'public/components/mod2.jsx',
      Mod3: 'public/components/mod3.jsx'
    },
    extensions: ['*','.js','.jsx']
  },
  module :{
    rules:[{
      use : 'babel-loader',
      query :{
        presets:['react','es2015','es2017']
      },
      test: /\.jsx?$/,
      exclude: /(node_modules|bower_components)/
    }]
  }
};

Я также обновил module.loadersmodule.rules, поскольку это устарело в Webpack 2.

Ответ 2

Вы пытались удалить LINE 8? Происходит ли это через какие-либо ошибки?

Как вы, наверное, догадались, что это ошибка, поскольку вы пытаетесь установить недопустимое свойство.

Существует вероятность того, что инструкции, которые вы, возможно, соблюдали при настройке веб-пакета, устарели.

Дайте ему пройти без LINE 8 и сообщите мне, сохраняются ли проблемы, и мы можем исправить их вместе.