如何使用Babel Polyfill承诺?

问题描述 投票:2回答:1

您好我是新手使用Babel进行转换和填充我的代码以适用于Edge和IE等旧版浏览器。我目前遇到了为Promises填充代码的问题。我检查Edge,我收到的错误是:

创建的钩子出错:“TypeError:Object不支持属性或方法'finally'

所以问题在于我的Vue应用程序中的finally方法。在我的应用程序中,我使用Axios从API获取数据。

所以我在这里执行了以下步骤:https://babeljs.io/setup.html#installation在CLI指令下。我的package.json文件目前看起来像这样:

{
    "name": "job-filtering",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "build": "babel src -d lib"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
      "@babel/cli": "^7.2.3",
      "@babel/core": "^7.2.2",
      "@babel/plugin-transform-regenerator": "^7.0.0",
      "@babel/preset-env": "^7.2.3"
    },
    "dependencies": {
      "@babel/polyfill": "^7.2.5"
    }
}

和我的.babelrc文件看起来像:

{
    "presets": ["@babel/preset-env"],
    "plugins": ["@babel/plugin-transform-regenerator"]
}

所以当我在我的命令行中使用npm run build时,它会尽可能地传递我的代码,但它不会像我的诺言中的finally方法那样填充。

我一直在努力寻找答案,但我似乎无法找到任何我正在寻找的东西。

我尝试添加:

import 'babel/polyfill';

到我的JS文件的顶部,但然后吐出一个错误。我知道这可能是一件很小的东西,我很想让babel给我的JS充实,但我似乎无法找到解决方案。

axios es6-promise babel babel-polyfill
1个回答
0
投票

"@babel/polyfill"'babel/polyfill'不一样。

import "@babel/polyfill";会解决。

要么:

module.exports = {
  entry: ["@babel/polyfill", "./app/js"],
};

将永远为我的项目工作。

请查看以下链接以查找更多信息。 https://babeljs.io/docs/en/babel-polyfill

© www.soinside.com 2019 - 2024. All rights reserved.