Ошибка: файлы плагинов / пресетов не могут экспортировать объекты, только функции / babel-preset-stage-0 - PullRequest
0 голосов
/ 17 января 2019

У меня возникли некоторые проблемы с webpack / babel. Сначала я устанавливаю webpack, webpack-cli, webpack-dev-server, babel-loader, babel-core, babel-preset-env, и кажется, что он работает нормально. Но Когда я устанавливаю babel-polyfill и babel-preset-stage-0 (потому что я хочу использовать async и await), я продолжаю получать вышеупомянутую ошибку. Я боролся с этим в течение нескольких дней, я был бы очень признателен, если бы кто-то просто сказал мне какие зависимости мне нужно установить и какие настройки мне нужно внести в мои файлы. На данный момент я просто хочу иметь возможность использовать модули и асинхронный режим и ждать для приложений vanilla javascript.

// ./src/app.js
async function getUsers() {
  const response = await fetch("https://jsonplaceholder.typicode.com/users");

  const data = await response.json();

  return data;
}

getUsers().then(data => console.log(data));

//Package json file
{
  "name": "new",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack-dev-server --output-public-path=/build/"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.2.2",
    "@babel/preset-env": "^7.2.3",
    "babel-loader": "^8.0.5",
    "babel-polyfill": "^6.26.0",
    "babel-preset-stage-0": "^6.24.1",
    "webpack": "^4.28.4",
    "webpack-cli": "^3.2.1",
    "webpack-dev-server": "^3.1.14"
  }
}
//webpack.config.js
const path = require("path");

module.exports = {
  mode: "production",
  entry: {
    app: ["babel-polyfill", "./src/app.js"]
  },
  output: {
    path: path.resolve(__dirname, "build"),
    filename: "app.bundle.js"
  },
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: "babel-loader",
          options: {
            presets: ["@babel/preset-env", "stage-0"]
          }
        }
      }
    ]
  }
};
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <script src="./build/app.bundle.js"></script>
  </body>
</html>

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Я скачал пакет babel_webpack_starter от Брэда Траверси. Он решил проблему для меня.

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

Проверьте, есть ли у вас несколько установок Babel.

В моем случае у меня был один в папке node_modules моего проекта и еще один глобальный.

Удаление my global @babel на ~/node_modules решило эту проблему здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...