您好,我不熟悉使用Babel转换和填充代码以使其适用于Edge和IE等较旧的浏览器。我目前在为承诺填写代码时遇到问题。我签入Edge,收到的错误是:
创建的挂钩中出现错误:“ TypeError:对象不支持属性或 方法“最终”
所以问题出在我的Vue应用程序中的finally方法。在我的应用程序中,我正在使用Axios从API获取数据。
因此,我正在按照以下步骤操作:CLI指示下的https://babeljs.io/setup.html#installation。我的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时,它会尽其所能地编译我的代码,但不会像我的promise中那样填充诸如finally方法之类的东西。
我一直在努力寻找答案,但是似乎找不到任何我想要的东西。
我尝试添加:
import 'babel/polyfill';
到我的JS文件的顶部,但这会吐出一个错误。我知道允许Babel填充我的JS可能是我所缺少的东西,但是我似乎找不到解决方法。
答案 0 :(得分:0)
"@babel/polyfill"
和'babel/polyfill'
不同。
import "@babel/polyfill";
可以解决。
或:
module.exports = {
entry: ["@babel/polyfill", "./app/js"],
};
将始终适用于我的项目。
查看下面的链接以找到更多信息。 https://babeljs.io/docs/en/babel-polyfill