问题标签 [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.
polyfills - core-js polyfill 还是总是替换函数?
我有一个需要支持旧浏览器的 react 项目,我们正在使用诸如 array.find() 和 array.map() 之类的东西。我看到我们的项目已经在 node_modules 文件夹中有 core-js,所以使用它而不是在项目中添加另一个包会很好。
如果我这样导入:
正如此响应中所建议的那样:http ://discuss.babeljs.io/t/why-does-array-prototype-find-not-work-with-babel-preset-es2015/46/4 是否会使用 polyfill替换可能已经存在的array.find 函数?如果它将替换现有功能,是否存在任何性能问题或其他原因,您不想使用这种方法?
javascript - core-js/babel-polyfill polyfilled functions appear as [native code]
Functions that were polyfilled with core-js
(for example, babel-polyfill
) appear as native.
Promise.race.toString()
produces:
So does Object.values.toString()
.
While they are certainly not browser's native implementations. The example is Babel REPL page.
How can a developer programmatically check that a function is not native implementation but a polyfill that mimics native function (for instance, when it is known that a particular polyfill may cause problems in the application)?
Usually native code
regexp helps, but it is certainly not the case.
How can source code be retrieved from such functions? I'm primarily interested in Node.js but cross-platform solution is welcome.
How exactly was this trick done? I cannot find nothing for native code
search in core-js
and babel-polyfill
source code.
javascript - core-js:“尝试配置不可配置属性的可配置属性。”
https://github.com/zloirock/core-js/issues/279
我正在使用 babel-polyfill,我相信它使用 core-js。我在某些浏览器(Safari <=7、Chrome 47、Nintendo 浏览器、Playstation Vita 浏览器)中看到此错误报告:“尝试使用不可配置属性的可配置属性。” 我用这个网站来翻译行号和列号: https ://raygun.com/sourcemaps 它说错误发生在 core-js/modules/es6.math.acosh.js?7396
我删除了 Math polyfill,因为我不需要它们,但我仍然在第 4 行的 core-js/modules/_object-to-array.js?7d99 中看到错误。
是什么导致了这个错误,我该如何让它消失?
javascript - webpack多实例错误中的babel-poyfill
使用下面的 webpack 配置运行 webpack 编译的 javascript 文件时,出现“只允许一个 babel-polyfill 实例”错误。
请注意,该问题仅发生在 file4 上,应用程序使用上面的配置工作正常,直到我添加了 file4 及其组件(这些新组件的唯一依赖项是来自 react 的 React)。
然后我改为:
并在每个文件 1-4 的开头包含以下内容:
但仍然只在file4上出现同样的错误“只允许一个babel-polyfill实例”(files1-3没有抛出错误)。
我的问题类似于带有 webpack 的 Babel polyfill,但我的文件位于不同的路径中,所以我不能根据这个问题的答案使用单个目录。有任何想法吗?
javascript - babel 在构建时无法编译到 ES5 的 ES6 特性有哪些?
我找不到 Babel 编译器无法编译的一组已定义的功能。我知道有 babel-polyfill 和 core.js,但我需要知道 babel 编译器无法编译的 es2015 功能的确切名称。
任何帮助,将不胜感激。
谢谢
reactjs - 运行 Jest 测试时未定义`regeneratorRuntime`
标题几乎解释了我所面临的。我正在尝试测试React
具有某种状态的组件,并尝试将我的商店提供给组件以获得它需要的东西。当我使用 Jest 运行组件测试时,出现以下错误:
ReferenceError: regeneratorRuntime is not defined
我通过一些阅读确定这是由于babel-polyfill
或未regenerator-runtime
正确应用于 Jest 引起的。但是,我尝试安装这两个软件包并重新运行,结果没有任何变化。在阅读了 Jest Github 问题页面(删除 babel-polyfill #2755 的自动包含)后,我发现babel-polyfill
Jest 从版本 19 开始并未自动包含该问题。我手动安装该软件包应该已经解决了该问题,但确实如此不是。我已经包含了一些我认为相关的文件
.babelrc
:
jest.config
:
package.json
:
node.js - 在生产入口文件中使用 babel-polyfill
我正在使用 babel 转译 ES7 js 代码,一切都像开发/登台的魅力。在应用程序内部,我严重依赖ES7 的async/await特性。我的入口文件如下所示:
我不确定是否有必要为生产环境保留babel-polyfill和babel-core/register模块,因为我在部署之前使用 babel-cli 转译了所有内容。我认为即使我删除它们并使入口文件看起来像这样,它也必须正确工作:
但是,如果这样做,我会在启动应用程序时遇到下一个异常:
在生产环境中引用babel-polyfill和babel-core/register包是否正常?
javascript - Webpack 2:修复 fetch polyfill 的构建错误
我有一个带有 webpack 2.2.1 的 JavaScript ES6 开发环境,我正在开发一个应用程序package-a
。
我还使用此环境来管理package-b
使用npm link
.
环境运作良好。
现在我需要填充package-b 使用fetch
的API 。
所以whatwg-fetch
已经安装好了。
我正在使用的 polyfilling 方式是本次讨论中建议的方式:https ://gist.github.com/Couto/b29676dd1ab8714a818f#gistcomment-1584602
所以我没有调用import 'whatwg-fetch'
我的代码,但我的 webpack 配置中有这个:
这对我来说总是很有效,如果我fetch
从我的主 ( package-a
) 模块中使用也有效,但是当我在依赖项中使用 fetch 时,我得到了这个回溯:
请注意,回溯包含对package-b
node_modules目录的引用(whatwg-fetch
仅作为开发依赖项安装,因为我想保留在“纯”中并且没有自动 polifyll 主机环境)。
删除开发依赖项并将其从node_modules
更改回溯中删除:
如果我放弃这种 polyfilling 的方式,而只是正常地import 'whatwg-fetch'
进行package-a
所有工作。
问题是:这里发生了什么?我正在开发一个存在依赖项的包,为什么在这种情况下通过 webpack 的 polyfill 会失败?有办法解决吗?
vue.js - 带有 Promise polyfill 的早午餐和 VueJs
我的代码在 IE 中不起作用,我无法深入了解它。我需要一个 Promise polyfill,所以我的目标是在我的主 app.js 中导入“babel-polyfill”,看看这是否有效。
然而,我遇到了麻烦,因为 VueJs 和 vue-brunch 似乎以某种方式没有在 .vue 模板中执行 babel 代码。
我可以在我的主 app.js 文件中毫无问题地使用 Object.assign,但它在 .vue 文件中不起作用。如果我删除该行,否则一切都可以正常编译。
javascript - 缩小版的 browserify 不起作用
解压缩版本工作正常,但压缩和缩小版本不能。
如果我“解压缩”缩小版,一切正常