【发布时间】:2019-11-04 13:59:05
【问题描述】:
我使用 babel 编译了如下所示的简单代码。
var aa = new Promise();
到
"use strict";
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.promise");
var aa = new Promise();
但是,像 IE9 这样的旧浏览器无法执行该代码。因为浏览器无法解析路径core-js/modules/es.object.to-string。
我必须使用 webpack 来使用 polyfill 吗?
我不想使用 webpack。
我在 package.json 中的 babel 设置如下。
"babel": {
"presets": [
[
"@babel/preset-env",
{
"corejs": 3,
"useBuiltIns": "usage",
"targets": ">0.2%, not dead, not ie <= 11, not op_mini all"
}
],
"@babel/preset-react"
]
}
【问题讨论】:
-
没有浏览器支持
require。您需要一个模块捆绑器将文件编译成一个文件,或者直接通过<script>包含文件。 -
@FelixKling 有没有办法自动添加脚本?像这样
"use strict"; ....Code of core-js/modules/es.promise... var aa = new Promise();
标签: javascript ecmascript-6 babeljs