【问题标题】:Invalid configuration object error from Webpack 2.4.1Webpack 2.4.1 中的无效配置对象错误
【发布时间】:2017-09-27 06:26:07
【问题描述】:

我一直在尝试使用 Webpack 编译我的 React 应用,但收到一个错误:

configuration.resolve 有一个未知属性“root”。这些属性 有效:object { alias?, aliasFields?, cachePredicate?, descriptionFiles?、enforceExtension?、enforceModuleExtension?、 extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, 模块?,插件?,解析器?,符号链接?,unsafeCache?, 使用SyncFileSystemCalls?

我确定我在目录中的文件位于正确的位置。以下是webpack.config.jspackage.json 的概要:

package.json

 {
  "name": "webpack_practice",
  "version": "1.0.0",
  "description": "Practicing webpack setup",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js"
  },
  "author": "John Doe",
  "license": "ISC",
  "dependencies": {
    "express": "^4.15.2",
    "react": "^0.14.7",
    "react-dom": "^0.14.7"
  },
  "devDependencies": {
    "babel-core": "^6.5.1",
    "babel-loader": "^6.2.2",
    "babel-preset-es2015": "^6.5.0",
    "babel-preset-react": "^6.5.0",
    "webpack": "^2.4.1"
  }
}

webpack.config.js

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

当我在解析下添加别名时开始出现错误。

【问题讨论】:

    标签: javascript reactjs webpack babeljs


    【解决方案1】:

    resolve.root 是一个 webpack 1 选项 - 现在已被弃用。鼓励您使用 webpack 2(这是您的 package.json 显示的内容)。

    参考:https://webpack.js.org/guides/migrating/#resolve-root-resolve-fallback-resolve-modulesdirectories,您可以看到该选项被删除以支持选项modules

    【讨论】:

    • 请问您将如何用模块功能重写和替换别名?上面的 woulf web.config.js 会是什么样子?请记住,我是 WebPack 的新手。
    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 2017-08-20
    • 2021-04-10
    • 2020-05-28
    • 2021-07-22
    • 2022-01-12
    • 2018-08-16
    • 2019-11-01
    相关资源
    最近更新 更多