首页 > 解决方案 > 如何修复“插件/预设文件不允许导出对象,只能导出功能。” 在为 React 设置 Webpack 时在“npm run”上?

问题描述

我正在阅读 React 教程,并且npm run在我的项目上运行时遇到了这个问题。较大的错误代码是:

./src/index.jsx 中的错误模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):错误:插件/预设文件不允许导出对象,只能导出函数。在 /S8L27nodeproject/node_modules/babel-preset-react/lib/index.js

看着类似的问题,我认为我的 Babel 版本不是最新的,因为babel-loader与其他版本不同,但是当我运行它们时npm outdated它们看起来很好。

我的 package.json 文件是:

{
  "name": "s8l27nodeproject",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack -p",
    "start": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.4",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-1": "^6.24.1",
    "react": "^16.6.0",
    "react-dom": "^16.6.0",
    "webpack": "^4.25.1",
    "webpack-dev-server": "^3.1.10"
  },
  "devDependencies": {
    "@babel/core": "^7.1.5",
    "webpack-cli": "^3.1.2"
  }
}

虽然我的 webpack.config.js 文件是:

module.exports = {
    entry: [
        './src/index.jsx'
    ],
    output: {
        filename: './bundle.js'
    },
    module: {
        rules: [{
            exclude: /node_modules/,
            loader: 'babel-loader'
        }]
    }
}

有谁知道我能做些什么来解决这个问题?

标签: node.jsreactjsnpmwebpack

解决方案


推荐阅读