"模块"不允许错误

时间:2017-01-09 04:58:40

标签: webpack-dev-server webpack-2

Webpack 2附带了新的解析设置,当我尝试修改config中的设置时,如下所示,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()
    ]
  })

1 个答案:

答案 0 :(得分:6)

正如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
  • 除非您指定(resolveLoader.moduleTemplates属性),否则不能再使用快捷方式'babel'而不是'babel-loader'。