Configuration.resolve具有未知属性' root'

时间:2017-03-30 02:03:27

标签: node.js webpack bundle config

我收到以下错误:

  

无效的配置对象。 Webpack已使用a初始化   与API架构不匹配的配置对象。     - configuration.resolve具有未知属性' root'。这些属性是有效的:object {alias?,aliasFields?,   cachePredicate?,descriptionFiles?,enforceExtension?,   enforceModuleExtension?,extensions?,fileSystem?,mainFields?,   mainFiles?,moduleExtensions?,modules?,plugins?,resolver?,   symlinks?,unsafeCache?,useSyncFileSystemCalls? }

我使用webpack 2.3.2

我的 webpack.config.js 如下所示:

SELECT 
knowledge,
SUM(CASE WHEN join_year = 2017 AND user = 'john' THEN ISNULL(handled_projects_count,0) ELSE 0 END) as cnt
FROM team_members WHERE
knowledge IN ('PHP','JAVA')
GROUP BY knowledge

2 个答案:

答案 0 :(得分:44)

resolve.root是Webpack 1配置,Webpack 2不存在。

对于Webpack 2,您可以使用resolve.moduleshttps://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.loaders - > module.rules因为这在Webpack 2中已弃用。

答案 1 :(得分:1)

您是否尝试删除LINE 8?是否通过任何错误?

您可能已经猜到,当您尝试设置无效的属性时,它会抛出错误。

配置webpack时,您可能遵循的说明可能已过时。

在没有LINE 8的情况下试一试,让我知道问题是否仍然存在,我们可以一起解决。