问题标签 [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.
javascript - babel-runtime 不适用于实例方法
我理解 babel-runtime 和 babel-polyfill 之间的区别,第一个不填充全局范围,而后者填充。我认为 babel-runtime 更安全,但我无法理解这意味着什么以及它对我有何影响:
注意:诸如 "foobar".includes("foo") 之类的实例方法将不起作用,因为这需要修改现有的内置函数(为此使用 babel-polyfill)。
据我了解,实例方法就像map, filter, reduce
是因为它们是在现有对象上调用的。哪个例子不会被 babel-runtime 验证?:
如何准确识别实例方法?
我在我的项目中将 babel-polyfill 替换为 babel-runtime,因为它应该会更好,但现在我不确定什么可以安全使用。
ember.js - Ember Cli - 添加了 Polyfill Internet Explorer 错误对象
我有一个问题,我没有看到有人遇到这种问题。基本上我做了一个帮助器来格式化日期,它有一些 EcmaScript 的语法,比如 let 或 expoorts。它可以在除 INTERNET EXPLORER 之外的所有浏览器中运行,所以我可以配置 Polyfill,所以我阅读了文档以使用 ember-cli-babel 配置它,但我无法看到预期的结果。
我有一个 ember 应用程序,带有 ember cli
我在我的花椰菜文件中包含 POLYFILL,就像这个 ember-cli
我有一个灰烬助手来格式化日期,它是:
但是当 Internet Explorer 11 渲染站点时,调试器中出现如下错误:
错误说是预期的对象。并且您可以看到该行之后显示的错误
所以我不知道从哪里开始,我尝试修改一点,app.js,但没有运气,我也尝试使用这个转换器将我的 ES6 代码转换为 ES5: https ://babeljs.io/repl/
但当然它没有用,也不是这个想法。
internet-explorer-8 - 让 Webpack 2 支持 IE8
我想在仍然必须支持 IE8 的大型项目中使用 Webpack 2。
我已经安装了babel-preset-env
,因此一旦每个浏览器都不受该项目的支持,我就可以在将来轻松地逐一弃用任何 IE < 11。
根据 babel-preset-env 自述文件“如果您的目标是 IE 8 和 Chrome 55 [babel-preset-env] 将包括 IE 8 所需的所有插件,因为您仍然需要同时支持这两者。”
据我了解,我还主要需要安装babel-polyfill
它的 IE5 shim,还需要安装它的 ES6 和我可能希望使用的 7 功能的 polyfill。
然而,安装了这些东西后,我的代码仍然在 IE8(在 Browserstack 中)Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
首次运行时出现问题。我认为一个功能正在被垫片“修复”。
是不是没有被正确地填充?我错过了一步吗?
javascript - babel-polyfill 与 IE11 中的对象混淆
我有一个 1 年前的带有服务器渲染的 React 应用程序,它已经投入生产了一段时间,
但是,在此之前几天就检测到,该应用程序停止与 IE11 一起使用。这真的很奇怪,因为我们已经在 IE11 上进行了多次测试,并且之前也可以正常工作。我们甚至尝试回滚项目(使用标记的 docker 映像),但仍然出现此错误。
根本原因似乎babel-polyfill
在于以某种方式改变了在 IE11 中创建对象的方式。
创建的对象将具有jscomp_symbol_Symbol.toStringTag1" Array Iterator"
这是我在控制台上找到的:
console.log({})
如果您有 IE11,请尝试此输入,它会以不同的方式输出。
这不知何故导致我的网络应用程序失败,因为每个对象都会失败 lodash_.isPlainObject
这是里面的条件Redux
。
javascript - 未处理的承诺拒绝 TypeError:方法 Promise.prototype.then 在不兼容的接收器上调用
使用 babel-preset-env、babel-polyfill 库构建。
错误:未处理的承诺拒绝类型错误:方法 Promise.prototype.then 调用了不兼容的接收器函数(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this ._v=void 0,this._h=0,this._n=!1}
包.json
如果有人知道是什么原因造成的,请回答。
我认为可能是一个 promise polyfill 问题.. 因为
function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}
这个函数来自 promise polyfill..
babel-polyfil 模块中的堆栈跟踪。
错误发生在下一行
抱歉,我无法重新生成错误。我记得它是在该行中触发的。
javascript - 使用 webpack 时自定义处理程序不起作用
我有一个自定义处理程序,用于获取单选按钮检查值:
我在我的视图模型中导入并注册它:
活页夹仅在初始加载时起作用,但是,单击单选按钮时,不会触发活页夹更新。
这是移动到 webpack + babel-loader 之前的工作文件。
有谁知道在使用 Webpack 加载模块时如何使 KO 自定义绑定器工作?
javascript - 错误:只允许一个 babel-polyfill 实例
我的 JavaScript 正在使用babel-polyfill。我正在使用像单页应用程序这样的插件。现在有人实现了另一个插件并得到一个错误,因为他babel-polyfill
也在使用。
错误:只允许一个 babel-polyfill 实例
我在网上看到很多关于它的帖子。像这样的解决方案
但我认为代码是由生成的webpacker
,修改输出感觉被黑客入侵了。是否有此配置,或者我是否必须使用类似 powershell 脚本之类的东西来执行此操作?
其他解决方案就像babel-polyfill
仅在您的主应用程序中使用 - 插件被加载的地方。但在我的情况下,主机应用程序不应该知道babel-polyfill
. 两个插件也可以一起安装,但不是必须的。
现在我可以试试
babel-runtime
,但我不想更改我的整个代码以匹配babel-runtime。另外我不知道其他作者是否也愿意更改他的代码。iframe
,但我认为很难处理我的后端与iframe
.
有什么解决办法吗?
babeljs - babel-polyfill 与 babel-plugins
我有点迷失在 Babel 选项/配置中。我想使用最近的 js 功能并编译(使用 webpack)到浏览器代码。
babel-polyfill和babel 插件有什么区别babel-preset-env
?
他们打算一起工作吗?
node.js - 如何使用“npm link”链接 babel 转译模块
我当前的项目(我的项目)中有很多代码需要在新项目中使用。这段代码是用 ES6 编写的,然后用 babel 转译。
我使用此共享代码创建了一个名为“my-module”的模块,并将其链接到“my-project”npm link
问题是当我启动项目时,“my-module”中的代码没有被转译,并在导入语句处引发错误。
my-module 中的代码将被大量编辑。如何使它起作用?
包.json
.babelrc
webpack - Webpack tree-shaking 可以删除未使用的 babel-polyfills 吗?
我尝试让 webpack tree-shaking删除未使用的babel-polyfill
.
index.js
文件包含:
在这个文件中,没有代码需要任何 es2015+ polyfill,所以我希望通过 tree-shaking 移除捆绑输出中未使用的 babel-polyfill。事实并非如此,并且捆绑包仍然包含它们(缩小)。
webpack 配置:
和.babelrc
:
我试图用 替换babel-minify-webpack-plugin
,uglifyjs-webpack-plugin
但它给出了相同的结果。
如何使 tree-shaking 工作,并且输出不包含babel-polyfills
原始代码中未使用的任何内容?