Webpack - Ошибка Babel - Не удалось найти предустановку "@ babel / env" относительно каталога - PullRequest
0 голосов
/ 20 января 2019

Я новичок в разработке.При попытке создать приложение я получил следующую ошибку.Я ссылался: Аналогичная проблема , но не смог решить:

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"
  ]
}

Может кто-нибудь помочь с настройкой?Это очень сбивает с толку для новичка, как я, и я посмотрел несколько вопросов в Интернете, и я не смог решить эту проблему.Я думаю, что вы заранее за ваше время и помощь.

1 Ответ

0 голосов
/ 20 января 2019

Джефф, вы правы, это проблема с версиями.Это может быть приемлемым обходным решением для вас.

В вашем файле 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
}
...