【问题标题】:Configuration.resolve has an unknown property 'root'Configuration.resolve 具有未知属性“root”
【发布时间】:2017-08-23 18:01:36
【问题描述】:

我收到以下错误:

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

我使用webpack 2.3.2


我的 webpack.config.js 看起来像这样:

module.exports= {
  entry:'./public/app.jsx',
  output: {
    path: __dirname,
    filename:'./public/bundle.js'
  },
  resolve: {
    root: __dirname,
    alias:{
      Mod1: 'public/components/mod1.jsx',
      Mod2:'public/components/mod2.jsx',
      Mod3: 'public/components/mod3.jsx'
    },
    extensions: ['*','.js','.jsx']
  },
  module :{
    loaders:[{
      loader :'babel-loader',
      query :{
        presets:['react','es2015','es2017']
      },
      test:/\.jsx?$/,
      exclude:/(node_modules|bower_components)/
    }]
  }
};

【问题讨论】:

    标签: node.js webpack bundle config


    【解决方案1】:

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

    对于 Webpack 2,您可以使用 resolve.modules: https://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 中已被弃用。

    【讨论】:

      【解决方案2】:

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

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

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

      在没有 LINE 8 的情况下试一试,如果问题仍然存在,请告诉我,我们可以一起解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-17
        • 2021-03-08
        • 2021-01-29
        • 2015-11-09
        • 1970-01-01
        • 2015-11-28
        • 2017-04-16
        • 2018-10-10
        相关资源
        最近更新 更多