问题标签 [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 回答
1206 浏览

gruntjs - 在 sapui5 项目中包含 babel polyfill 的最佳方法是什么?

我们使用 grunt 作为任务运行器,我们使用与 openui5 开发人员推荐和使用的 grunt 相同的设置。

https://github.com/SAP/grunt-openui5

https://github.com/SAP/openui5/blob/master/docs/tools.md

当我们构建应用程序时,我们希望将 babel-polyfill 添加到项目中(以便我们可以使用最新的 javascript 功能),就像使用 webpack 一样。感谢您提前回答。

0 投票
0 回答
559 浏览

javascript - 如果我使用 babel-polyfill,我还需要使用 babel-preset-env 和 Babel 插件吗?

我的理解是 Babel Polyfill 模拟完整的 ES6 环境,而babel-preset-env根据您需要支持的环境(浏览器)自动将 ES6(及更高版本)编译为 ES5。

我对此有几个问题:

  • 这两种设计是为了相互配合使用还是相互替代?

  • 如果它们被设计为彼此的替代品,是否有理由选择一个而不是另一个?还有一个性能更好吗?

  • 当使用这些工具中的任何一个时,是否仍然需要使用额外的 Babel 插件,或者其中一个是否包含我需要编写符合规范的现代 JavaScript 的每个插件(仅第 4 阶段提案,我想插件需要第三阶段及以下?)。

0 投票
1 回答
878 浏览

ecmascript-6 - Gulp + rollup + Babel:构建失败

我想将我的一个旧模块重写为 ESNext。捆绑它,我使用 Rollup,编译回来,我当然使用 Babel。所有这些都在 Gulp 中得到了处理。

到目前为止一切顺利,同时升级到 Babel v7、Gulp v4 和最新版本的 rollup (v0.56.0)。但是现在,由于我打算将其包含useBuiltIns: true在我的 babel 配置中,所以我不必担心 polyfill,我得到了 rollup 抛出的错误:

你可以在这里查看我的 gulpfile 。这很简单。我rollup-stream用于与 gulp 的集成,并使用、rollup-plugin-babel和作为插件。如果您没有时间查看整个内容,这是我如何集成它的示例:rollup-plugin-uglifyrollup-plugin-node-resolverollup-plugin-commonjs

我的 Babel 配置如下:

当我用 注释掉该行时rollupNodeResolve,禁用插件,它会编译,但会给我一个警告'regenerator-runtime/runtime' is imported by src/jazzer.js, but could not be resolved – treating it as an external dependency,例如。注释掉ignore: ['node_modules']会导致 Babel 导入太多东西并生成 83 kb 的捆绑包——所以这也不是办法。

希望有人可以帮助我!这里整个 repo,如果你想亲自检查一下。

0 投票
0 回答
3800 浏览

vuetify.js - 让 Vuetify 在 IE11 中正常工作

我们的应用程序 ( https://web.hashlearn.com ) 是使用 Vuetify 构建的,并且在除 IE11 之外的所有浏览器中看起来都很棒(我们不支持 < IE11)。这本质上是一个带有 Webpacker、VueJS 和 Vuetify (0.16.9) 的 Rails 应用程序。除了 IE11 中的一些问题外,大多数事情似乎都有效,图标只是没有出现在 IE 中。我尝试了多种方法,包括:

  1. 通过 npm 安装并包含 babel-polyfill 并将其导入我们的 application.js
  2. 通过 Webpacker 条目配置包括 babel-polyfill,如下所示:https ://github.com/rails/webpacker/issues/523#issuecomment-309871748

.babelrc

有人遇到过这种问题吗?你是如何解决这些问题的?不过, GitHub中报告的大多数问题似乎都没有适当的解决方案。

0 投票
1 回答
208 浏览

javascript - 在遗留 Grunt/Angular 应用程序中为 babel-pollyfill 定义入口点

我正在使用一个遗留应用程序,我们正在慢慢地拖到更现代的库等。(我提前这么说是为了阻止任何“只是升级到 webpack/yarn/etc”的答案。我们正在努力, 递增。)

问题摘要:

我已经成功地包含了“grunt-babel”:“^7.0.0”,(我可以看到它在测试let testBabel = 1转换中运行良好)。我还需要 "babel-polyfill": "^6.26.0"," 来处理.includes()& Array 函数之类的东西,我通过我的 package.json "dependencies" (而不是 "devDependencies",正如我在docs). 我的实际问题应该很简单:对于我正在使用的库集,我不了解“通过入口文件加载”的正确方法。

角度是 v1.5

我的设置:

包.json

GruntFile.js

(“myapp”是我们公司名称的替代品)。它pollyfill/eventsource.js是存在的,所以我一直在进行pollyfill/entry.js一些实验——最终可能不需要。

此外,我们的app.js文件包含所有angular.module加载和指令内容。

我试过的:

我尝试require("babel-polyfill");在我的第一行添加module.exports = function(grunt) {- 这似乎被忽略了,我被告知这是错误的

我已经尝试在 entry.js 中添加require("babel-polyfill");import "babel-polyfill";,这显然不起作用并且不起作用(语法错误,因为 javascript 不理解)

我尝试将相同的内容添加到角度 app.js 文件的顶部,但这只会炸毁我的角度。

真的在寻找“在这里写这些词”,为我解决它的答案,因为如果您知道要输入什么,我很确定这是一件很简单的事情,但是我不知所措。

蒂亚!

0 投票
1 回答
432 浏览

babeljs - babel-preset-env 是否像 babel-polyfill 那样污染全局范围?

我需要在我的代码中使用ES6代码和Object.entries。在查看 babel 后,我看到他们建议使用babel-preset-env. 但我正在 webdriverIO 中编写步骤定义,他们建议使用babel-plugin-transform-runtime它,以免污染全局范围。让我知道我是否可以使用 babel-preset-env 并且仍然不会污染全局范围。

0 投票
1 回答
509 浏览

unit-testing - TypeError: undefined is not a function with karma test 但我从函数本身得到了预期的结果

这是我的功能:

该功能有效,我对控制台的输出与预期结果相匹配。我得到了一个测试文件以在该函数上运行。当我运行测试时,我收到错误:

TypeError: undefined is not a function (evaluate '(0, _managedRecords2.default)().then(check)') in test/api/managed-record-test.js (line 149) webpack:///test/api /managed-record-test.js:91:20 <- test/api/managed-record-test.js:149:42

测试看起来像这样:

这是 package.json 中的依赖项和 devDependencies

有人可以帮我理解为什么测试一直失败以及如何解决它吗?我在 PhantomJS 和 Chrome 浏览器上都运行过,我得到了同样的错误。

0 投票
1 回答
448 浏览

babeljs - Babel polyfill 以无法在 Nashorn 上运行的方式转换 selenium-webdriver 的代码

我正在尝试在 Nashorn 上运行 selenium-js(请不要问我为什么不能使用 java 版本的 selenium)。

Nashorn(在 java8 上)实现了 ES5。用 ES6 编写的当前版本的 selenium-webdriver (3.6.0)。

我正在尝试使用 webpack(v4) + babel-polyfill(v6.26.0) + babel-preset-env (1.6.1 预设 es2015) 转换 selenium-webdriver。

然后在 Nashorn 上运行代码。但是得到一个错误

真的很感激任何提示:)

0 投票
0 回答
462 浏览

vue.js - IE11 中的 Vuetify 颜色错误

我正在尝试将 vuetify 与 Internet Explorer 11 一起使用。

我已经在我的项目中安装了 babel polyfill。

但我仍然遇到错误。看起来它在 colors.js 文件中。

有人知道是什么原因造成的吗?

任何帮助将不胜感激!

错误日志:


来自 Internet Explorer 的错误日志:

来自 Internet Explorer 的错误日志

谢谢您的帮助!

0 投票
1 回答
937 浏览

javascript - webpack 4 代码拆分和 var 注入

我尝试使用 webpack 4 进行代码拆分(之前使用 webpack 3 的配置正常工作)

我创建了一个存储库来轻松重现我的问题:https ://github.com/iamdey/RD-webpack4-code-split

我通常会遇到以下错误,因为我想在供应商包中进行代码拆分和 babel-polyfill:

ReferenceError:未定义 regeneratorRuntime

配置

这是我的 webpack 配置:

问题

调试时,我们看到供应商在清单和最后应用程序之后立即加载。但是应用程序在供应商之前执行。

如果我删除了splitChunks选项,就像在清单之前一样,供应商会被加载,但供应商会在加载应用程序之前直接执行。在这种情况下,问题是拆分产生了不好的影响:块在供应商和应用程序中重复。

该怎么办 ?

以下是我的选择:

  • 将 polyfill 放入应用程序包而不是供应商包中:我不想要那个
  • 让 webpack 自己进行代码拆分:我不希望这样,因为在现实世界中,即使在供应商的版本之间,我也想要一个很长的缓存,并让应用程序尽可能小
  • webpack 配置不正确:请告诉我 :)
  • 这可能是一个错误:酷,我会尽快打开一个问题