Модули не разрешены Ошибка

Webpack 2 поставляется с новой настройкой разрешения, и когда я пытаюсь изменить настройку в конфигурации следующим образом, webpackValidator выдает ошибку:

"Модули" не разрешены"

Ошибка в терминале

const config = webpackValidator({

    context: resolve('src'),
    entry: './app.js',
    output: {
      filename: 'bundle.js',
      path: resolve('dist'),
      publicPath: '/dist/',
      pathinfo: ifNotProd(),
    },
    devtool: ifProd('source-map', 'eval'),
    module: {
      loaders: [
        {
          test: /\.js$/,
          loaders: ['babel'],
          exclude: /node_modules/
        }
      ]
    },
    resolve: {
      extensions: ['.js'],
      modules: [
        resolve(__dirname, 'src'),
        resolve(__dirname, 'node_modules')
      ]
    },
    plugins: [
      new DashboardPlugin()
    ]
  })

person Trung Nguyen    schedule 09.01.2017    source источник


Ответы (1)


Как указано в файле readme проекта webpack-validator (npm & github), вам следует серьезно подумать об отказе от использования этого пакета...

Примечание. Webpack v2 имеет встроенную проверку конфигурации. Из-за этого webpack-validator вряд ли внесет существенные изменения. В то время как запросы на вытягивание будут проверяться и могут быть объединены, сопровождающие проекта вряд ли приложат много усилий для обслуживания проекта.

У меня была та же проблема, и я, наконец, отказался от ее использования: Webpack 2 внес критические изменения, за которыми наверняка не последует проект webpack-validator. Новая встроенная проверка конфигурации в Webpack 2 теперь достаточно хороша.

Кстати, ваш конфиг может нуждаться в некоторых доработках:

const config = {

context: resolve('src'),
entry: './app.js',
output: {
  filename: 'bundle.js',
  path: resolve('dist'),
  publicPath: '/dist/',
  pathinfo: ifNotProd(),
},
devtool: ifProd('source-map', 'eval'),
module: {
  rules: [
    {
      test: /\.js$/,
      use: ['babel-loader'],
      exclude: /node_modules/
    }
  ]
},
resolve: {
  extensions: ['.js'],
  modules: [
    resolve(__dirname, 'src'),
    resolve(__dirname, 'node_modules')
  ]
},
plugins: [
  new DashboardPlugin()
]
}
  • module.loaders становится module.rules
  • module.loaders.loaders становится module.rules.use
  • Вы больше не можете использовать ярлык «babel» вместо «babel-loader», если только вы не укажете его (свойство resolveLoader.moduleTemplates).
person Franck Wlodarezack    schedule 09.01.2017
comment
этот ответ не очень помогает пользователям - person Nolwennig; 09.01.2017