Babel 根本不会改变 Promise
Babel Does not Change Promises at All
我完全不明白 Babel 是如何工作的。我玩过它,它转译了一些东西而不是其他东西。这方面的一个例子是承诺。我将列出我的项目的配置和结果:
我的目标是 IE 10 (.browserslistrc
):
>= 1%
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
babel.config.js
const presets = [
[
'@babel/preset-env',
{
useBuiltIns: 'entry',
debug: true,
corejs: { version: '3.2.1' }
}
]
];
module.exports = { presets };
一个名为 promises.js
的文件
var promise1 = new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('foo');
}, 300);
});
promise1
.then(function (value) {
console.log(value);
});
我只是使用 "babel src -d lib"
调用 cli
如我所说,promises 文件按原样复制,尽管 IE10 不支持它们。我已将 core-js
作为依赖包含在解决方案中,但根本没有手动调用它(我不确定 Babel 是否使用它)。
如果有人能帮助我理解这一点,那就太好了。
谢谢
多一点时间(读作,很多时间)Babel.js,我已经找到了我的问题的答案。
我不理解 Babel 转译某些东西而填充其他东西的事实。通过 polyfill,我的意思是它将 polyfilling 的工作委托给 core.js.
这花了很长时间才降下来,因为 Babel 被吹捧为 Javascript 编译器。从技术上讲是。但它也是委托人:)
为了canvas一些东西,这些是转译的:
- 箭头函数
- 类
- 解构运算符
虽然这些是填充的:
- 获取
- 承诺
我的问题是关于承诺的。这就是答案。
希望这能帮助其他新接触 Babel 的人。
我完全不明白 Babel 是如何工作的。我玩过它,它转译了一些东西而不是其他东西。这方面的一个例子是承诺。我将列出我的项目的配置和结果:
我的目标是 IE 10 (.browserslistrc
):
>= 1%
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
babel.config.js
const presets = [
[
'@babel/preset-env',
{
useBuiltIns: 'entry',
debug: true,
corejs: { version: '3.2.1' }
}
]
];
module.exports = { presets };
一个名为 promises.js
的文件var promise1 = new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('foo');
}, 300);
});
promise1
.then(function (value) {
console.log(value);
});
我只是使用 "babel src -d lib"
如我所说,promises 文件按原样复制,尽管 IE10 不支持它们。我已将 core-js
作为依赖包含在解决方案中,但根本没有手动调用它(我不确定 Babel 是否使用它)。
如果有人能帮助我理解这一点,那就太好了。
谢谢
多一点时间(读作,很多时间)Babel.js,我已经找到了我的问题的答案。
我不理解 Babel 转译某些东西而填充其他东西的事实。通过 polyfill,我的意思是它将 polyfilling 的工作委托给 core.js.
这花了很长时间才降下来,因为 Babel 被吹捧为 Javascript 编译器。从技术上讲是。但它也是委托人:)
为了canvas一些东西,这些是转译的:
- 箭头函数
- 类
- 解构运算符
虽然这些是填充的:
- 获取
- 承诺
我的问题是关于承诺的。这就是答案。 希望这能帮助其他新接触 Babel 的人。