【问题标题】:Error:Plugin /Preset files are not allowed to export objects,only functions/babel-preset-stage-0错误:插件/预设文件不允许导出对象,只有函数/babel-preset-stage-0
【发布时间】:2019-06-12 00:16:33
【问题描述】:

我在使用 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>

【问题讨论】:

    标签: javascript webpack


    【解决方案1】:

    检查你是否有多个 Babel 安装。

    就我而言,我在项目的 node_modules 文件夹中有一个,另一个是全局的。

    卸载我在~/node_modules 的全局@babel 在这里解决了这个问题。

    【讨论】:

      【解决方案2】:

      我下载了 Brad Traversy 的 babel_webpack_starter 包。它为我解决了这个问题。

      【讨论】:

        猜你喜欢
        • 2019-06-09
        • 1970-01-01
        • 2019-06-14
        • 2018-05-29
        • 1970-01-01
        • 1970-01-01
        • 2019-06-20
        • 2019-07-23
        • 1970-01-01
        相关资源
        最近更新 更多