"模块"不允许错误

Tru*_*yen 1 webpack-dev-server webpack-2

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

Fra*_*ack 6

正如webpack-validator项目的自述文件(npmgithub)所述,你应该认真考虑放弃使用这个软件包......

注意: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()
]
}
Run Code Online (Sandbox Code Playgroud)
  • module.loadersmodule.rules
  • module.loaders.loadersmodule.rules.use
  • 除非您指定它(resolveLoader.moduleTemplates属性),否则不能再使用快捷方式'babel'而不是'babel-loader' .