Webpack - Babel 错误 - 找不到相对于目录的预设“@babel/env”

Webpack - Babel Error - Couldn't find preset "@babel/env" relative to directory

我是开发新手。在尝试构建我的应用程序时,我收到以下错误。我引用了:Similar Issue 但无法解析:

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Couldn't find preset "@babel/env" relative to directory "/home/jdev/www/react-redux-node-elasticsearch"
at /home/jdev/www/react-redux-node-elasticsearch/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19

这是我的package.json

"dependencies": {
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-env": "^2.4.1",
    "babel-loader": "^7.1.5",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "express": "^4.16.4",
    "pug": "^2.0.3",
    "webpack": "^4.28.4"
  },
  "devDependencies": {
    "webpack-cli": "^3.2.1"
  }

这是.babelrc的内容

{
  "presets": [
      "babel-env",
      "babel-preset-env",
      "babel-preset-react"
  ]
}

有人可以协助配置吗?这对于像我这样的新手来说非常令人困惑,我在网上查看了多个问题,但我无法解决这个问题。我想你提前花时间和帮助。

杰夫,你是对的,这是一个版本控制问题。这对你来说现在可能是一个可以接受的变通办法。

在您的 package.json 文件中将您的代码修改为以下依赖版本:

"dependencies": {
  "babel": "^6.5.2",
  "babel-cli": "^6.18.0",
  "babel-core": "^6.21.0",
  "babel-loader": "^6.2.10",
  "babel-preset-es2015": "^6.18.0",
  "babel-preset-react": "^6.16.0",
  "express": "^4.14.0",
  "pug": "^2.0.0-beta6",
  "react": "^15.4.2",
  "react-dom": "^15.4.2",
  "webpack": "^1.14.0"
}

您的 .babelrc 文件看起来不错。

此外,在您的 webpack.config.js 文件中添加以下内容以确保您在此处的配置也正确:

module.exports = {
  entry: "./path/to/your/app.js",
  output: {
    path: __dirname + "/src/js",
    filename: "bundle.min.js"
},
module: {
    loaders: [{
        exclude: /(node_modules)/,
        loader: "babel",
        query: {
            presets: ["es2015", "react"]
        }
    }]
},
  watch: true
}