2017-01-09 6 views
1

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

«Модули» не допускается "

Error in Terminal

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() 
    ] 
    }) 

ответ

3

Как уже упоминалось в ридми в WebPack-валидатор проекта (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-loader ', если вы не указали его (resolveLoader.moduleTemplates).
+0

этот ответ не очень помогает пользователям – Nolwennig

+1

Совершенно верно ... Отредактировано, надеюсь, что это поможет ... сейчас ... –