问题标签 [core-js]
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.
babeljs - 如何配置 babel/preset-env 以包含 core-js URLSearchParams polyfill?
我URLSearchParams
在我的应用程序中使用。babel
代码使用、 使用babel/preset-env
并core-js@3
包含我目标浏览器所需的polyfill 进行编译。
这是我的 babelrc:
这是我的.browserslistrc
:
问题是,即使我在 中指定.browserslistrc
了 IE11,polyfillURLSearchParams
仍然没有包含在最终包中。到目前为止,我已经通过手动导入解决了这个问题,core-js/web/url-search-params.js
但我宁愿由babel/preset-env
.
我可以babel/preset-env
以某种方式配置以包含URLSearchParams
core-js 中的 polyfill 吗?
jestjs - .flat 不是只有开玩笑的功能
开玩笑地运行我的测试时,我遇到了上述错误;
按照该问题的解决方案,https://github.com/kulshekhar/ts-jest/issues/828
我已经安装core-js
了依赖项并将其放入jest.config.js
我会收到另一个错误;
这仅在开玩笑时发生,我在我的应用程序和故事书中使用 babel 和 webpack,而flat
.
我的jest.config.js
reactjs - 重定向后 React 被重新渲染并发送回缓存的登录 IE11
我正在努力寻找快速解决问题的方法,因为客户抱怨网站无法在 IE 上呈现。我做了一些研究,我遇到了这个react-app-polyfill/ie11
。我已将它作为入口点插入到src/index.js
我的 IE 11 上我看到我的项目(只有登录)在我的工作,但登录后它再次重定向回登录页面。IE 抛出的错误是:
DOM7011 : The code on this page disabled back and forward caching.
Unhandled promise rejection TypeError: Unable to get property 'data' of undefined or null reference
过了一会儿,我也遇到了这个: https ://reactjs.org/docs/javascript-environment-requirements.html
新的 JavaScript 环境要求。基本上,他们建议启用index.js
此
作为入口点import 'core-js/es/map';
import 'core-js/es/set';
到目前为止,我不知道发生了什么,但该应用程序仍然无法在 IE 上正常运行。有人可以给我一些建议该怎么做吗?
更新的Login.js
``
index.js
我还标记了我无法导入,'react-app-polyfill/stable'
我认为这应该可以,但我不确定。
更新
我已经删除node_modules
并再次安装react-app-polyfill
。现在'react-app-polyfill/stable'
已识别,但我遇到了另一个错误。
SCRIPT438: Object doesn't support property or method 'repeat'
...这个IE让我发疯了...
更新
Okey,所以我能够删除我的私人路线并使登录后的每条路线都可见<Route/>
。如果我硬编码 URL 路径并禁用安全性,我可以访问我的仪表板页面。所以这让我认为问题来自<Redirect/>
组件。因为他是唯一站在登录和仪表板之间的人。IE
任何建议为什么和之间的冲突<Redirect/>
???
gruntjs - 如何在 babel 7.4 和 grunt 中使用 polyfill?
在使用 babel 和 grunt 时,我遇到了 IE11 的一些问题。我需要使用一位前同事编写的新 ECMA 功能来填充一些代码,他将 babel 更新到 7.4(但没有将 babelrc 更改为使用 corejs),并且代码在 IE11 中不是 testet。所以现在代码在 Internet Explorer 中不起作用,我不得不填充,没有更深入的 babel 和 grunt 知识。我将 babelrc preset-env 更改为使用 builtIns,但无法使其运行。
我将 babelrc 更改为使用带有 builtIns 的预设环境。所以我将 useBuiltIns 设置为使用,所以 polyfills 仅在需要时包含。但随后 babel 会生成“require”语句,这些语句当然不能被浏览器解释。即使我将 useBuiltIns 设置为“entry”(而且我不知道与“usage”有什么区别),我在 IE11 的 js 控制台中得到“SCRIPT5009:“Symbol”未定义”作为错误。
.babelrc:
gruntfile.js:
我正在使用“./node_modules/.bin/grunt watch:dev-ie”运行应用程序,然后更改一些 javascript 代码以触发 livereload,因此执行“devIe”任务并且 babel 将转译代码。如果我在 babelrc 代码中使用“条目”作为 useBuiltIn 选项的值,但我得到“符号未定义”。当我使用“usage”作为值时,babel 将 require 语句添加到我缩小的 js 文件中,我在 js 控制台中得到“require is undefined”。
我用 IE11 测试代码。我不想使用 Browserify 或 webpack,因为这会使事情变得更复杂。谁能告诉我我的配置中缺少什么以使事情正常进行?我原以为 babel 不会创建现代浏览器无法解释的 require 语句,需要由 webpack 或其他东西翻译才能使事情正常运行。我只想扩展我的 babel / grunt 配置来填充 javascript 代码以在 IE11 中工作。也许我在 package.json 中也缺少一个包?
javascript - 如何使用 useBuiltIns 排除 core-js:“用法”
使用 babel 7.5.5、core-js 3.1.4 和 webpack 4.38.0,如何将 core-js 排除在转译之外?
我不想node_modules
完全排除,因为我有需要编译的库
如果我使用exclude: /node_modules\/(core-js)/
,会抛出一个 core-js 模块
类型错误:$ 不是函数
这给我留下了另外两个选择。
- 改用包含,包括我的 src 目录和需要逐个转换的每个依赖项
- 使用
useBuiltIns: entry
而不是使用,因为在这种情况下exclude: /node_modules/\(core-js)/
有效,并且import
core.js 在 main.js 的顶部
这两个选项对我来说似乎都不是很好的解决方案,因为usage
自 7.4 以来“不再是实验性的”。
有什么方法可以让它使用用法吗?它是 babel-loader 还是 babel 中的错误?还是我的配置有问题?
这是我的 Webpack 配置:
这是我的 babel 配置:
您可以使用以下存储库重现错误:https ://github.com/tomm1996/usebuiltins-exclude-test
babeljs - 为什么 es3 的特性会被 babel-polyfill 填充?
"useBuiltIns": "usage"
我在配置中使用@babel/preset-env + babel-polyfill + corejs3 .babelrc
。
我使用 browserlist 来定位以下浏览器:
我发现一些 ES3 特性是 polyfill 的,即使它们被认为对所有目标浏览器都可用(根据 CanIUse):
我的目标是最小化文件大小并删除不必要的 polyfill。
我的问题是:为什么 babel-polyfill 决定为 es3 功能添加这些 polyfill?
javascript - 无法在 Ember 中填充 Object.fromEntries
我有一个简单的 Ember 应用程序,我需要填充Object.fromEntries
一个组件。
作为参考,我使用原生支持的 Safari 12.1.1fromEntries
和不支持的 Safari 11.1.1。
AFAIK,我只需要一个适当的ember-cli-build.js
配置。
如果有人能告诉我为什么以下调整不能正确地填充函数,我将不胜感激:
软件包版本:
- ember-source@3.7.2
- ember-cli@3.5.0
- ember-cli-babel@7.5.0
- @babel/core@7.5.5
- 核心js@3.2.1
javascript - 类型对象的预期参数,但有类型对象
我正在使用“core-js/feature/map”中的地图。通过在地图上调用 has 我得到如下错误:
错误:org.mozilla.javascript.EcmaError:TypeError:类型对象的预期参数,但有类型对象
错误在第 16 行 (if (this.playerStateMap.has(user)) {) 中抛出
该代码在一个java应用程序rhino引擎中运行。
我试图导入完整的 core-js 库,但它没有改变任何东西。