问题标签 [babel-polyfill]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1339 浏览

node.js - 如何将 ES2017 转换为 ES5

我有一个带有 async/await 的 es2017 代码,我想将其转换为 es5,以便大多数 Node.js 版本都支持它。

我当前的 .babelrc 文件如下所示:

所以我将 es2017 转换为 es2016,从 es2016 转换为 es2015,从 es2015 转换为 es5。

当我在构建代码后尝试运行代码时,babel src -d dist -s我收到错误消息:ReferenceError: regeneratorRuntime is not defined

如何将 es2017 代码转换为 es5?我想稍后发布代码并使其可供 node.js v4 及更高版本使用。

0 投票
1 回答
6582 浏览

javascript - 当 process.env.NODE_ENV=='production' 时,使用 babel-polyfill 在 IE11.0.9600 中未定义 fetch 和 Headers

什么时候process.env.NODE_ENV=='development'——没关系!

但是我们的生产构建在 IE 11 (11.0.9600) 中失败了。在 chrome 55 中一切正常。

开发依赖:

依赖项:

.babelrc:

尝试"useBuiltIns": falsees2016、es2015、es2017 预设。没有什么变化。

index.js:

webpack.config module.exports.entry:

vendor 是 index.html 中的第一个脚本。

在 ie 控制台中键入 _babelPolyfill 返回 true。但是标头,提取是未定义的......

为什么process.env.NODE_ENV=='production'在 IE11 中破坏了我的应用程序?如何修复我的配置?

0 投票
1 回答
747 浏览

babeljs - 仅使用 babel-polyfill 包含所需的 polyfill

有没有办法“摇树” babel-polyfill,这样只有我使用的功能才被填充?

也就是说,如果我从不String.padStart在我的代码中使用,它的 polyfill 就不应该包含在内。

0 投票
0 回答
443 浏览

webpack - 为不同的目标创建多个 webpack 包并让浏览器根据功能进行选择?

为了支持旧版浏览器,我需要导入 Babel 的 polyfill,而导致代码非常短的新功能需要扩展为更冗长的代码 - 导致捆绑包膨胀。

我想让 Webpack 输出多个包:

  • 较新的浏览器不需要 polyfill,可以使用诸如 Promises、Arrow Functions 和async/之类的东西await。这意味着代码包可以更小并且加载更快。
  • 较旧的浏览器会获得包含更多内容且加载速度较慢的捆绑包。

一旦我有了这两个包,我如何确定要加载哪个包脚本?我想我可以做一个检查window.Promise或类似的事情,但不确定我需要检查的所有事情。

0 投票
0 回答
476 浏览

heroku - 在 CRA 中使用 babel-polyfill,无法部署到 heroku

找不到模块:错误:无法解析“/tmp/build_7f85e1e4173bfdceff6d0abd745c2646/src”中的“babel-polyfill”远程:
远程:错误命令失败,退出代码为 1。远程:
信息访问https://yarnpkg.com/en/ docs/cli/install获取有关此命令的文档。远程:远程:-----> 构建失败远程:
远程:很抱歉,此构建失败!您可以在此处解决常见问题:远程:
https ://devcenter.heroku.com/articles/troubleshooting-node-deploys

这是我尝试将我的应用程序部署到 heroku 时遇到的错误。

在我的依赖项中(不是 devDependencies)。我在第一行的 index.js 文件中需要 babel:

为什么 heroku 不能解决 babel-polyfill ?

0 投票
1 回答
2091 浏览

webpack - 未捕获的 ReferenceError:全局未在 eval 中定义

我遇到了一个我认为来自 webpack 的错误。这里是:

我的 webpack 是:

这个错误只有在我添加了 Redux 建议的服务器端渲染后才开始出现。所以我在 ./src/utils/store.js 中使用带有window.__PRELOADED_STATE__的 store 水化,它也在index.ejs中,这是呈现给客户端的文件。

这是它在我的 store.js 中的外观:

如果有的话,这也是我的 .babelrc:

希望任何人都可以对此提供帮助-我在研究和试验中还没有找到解决方案。谢谢!

0 投票
2 回答
13637 浏览

webpack - ReferenceError:全局未在 eval 中定义

我遇到了一个我认为来自 webpack 的错误。这里是:

我的 webpack 是:

这个错误只有在我添加了 Redux 建议的服务器端渲染后才开始出现。所以我在 ./src/utils/store.js 中使用带有window.__PRELOADED_STATE__的 store 水化,它也在index.ejs中,这是呈现给客户端的文件。

如果有的话,这也是我的 .babelrc:

希望任何人都可以对此提供帮助-我在研究和试验中还没有找到解决方案。谢谢!

0 投票
0 回答
497 浏览

javascript - 在 phantomjs 中使用 babel-polyfill

我如何在 phantomjs 中使用 babel-polyfill 来获得一些 es6 期货?

我安装了 phantomjs 2.1.1 和 babel-polyfill(通过npm install babel-polyfill)。

这是文件 main.js:

当我运行phantomjs main.js它时,它会打印undefined到控制台,但是 babel-polyfill 应该添加String.startsWith方法。

0 投票
0 回答
1483 浏览

javascript - 在 IE11 中使用绑定函数的 JavaScript 给出 Object 不支持此操作

我有一个 JavaScript 代码,它使用事件在不同组件之间进行通信。我正在使用ES6语法和webpack。我也在使用babel-polyfill愚蠢的 Microsoft IE 11!

我有这样一行(我的timeline_变量是vis.js Timeline的一个实例:

在 Chrome(和 Edge)中,一切正常,但在 IE 中,该bind功能似乎不起作用。如果我在这一行设置一个断点并使用 Watch 窗口运行它:

它给了我这个:

对象不支持此操作

在 Chrome 中,它给了我这个:

在此处输入图像描述

这是事件发生时需要回调的实际函数。

当我typeof在 IE 和 Chrome 中进行操作时,两者都回馈"function",但我不明白 IE 的行为!

我也尝试过包含es5-shimes6-shim包,但无济于事。

先感谢您

编辑

原来问题出在代码的其他地方。我在我的代码中创建了一个MouseEventIE 不支持的内容(为什么要支持?!),这在某种程度上是问题的根源,而不是bind方法。我只是靠运气发现了这个问题!

0 投票
1 回答
1963 浏览

javascript - Object.values 在 IE 浏览器中抛出 TypeError - 如何填充它?

在我的 ember 应用程序中,我正在使用Object.values在 IE 浏览器中引发以下错误的方法。

对象不支持属性或方法“值”类型错误:对象不支持属性或方法“值”

在我的 package.json

我的 target.js 文件显示,

我在用

Object.values仅在 EDGE中受支持。我如何在我的 ember 项目中填充这个?同样,String.endsWith我只是将 polyfill 包含在app.js文件中。在这里我想使用 babel-polyfill 以便它会自动为我在中提到的浏览器填充target.js