У меня есть простое приложение Ember, и мне нужно полифиллировать Object.fromEntries
в компоненте.
Для справки, я использую Safari 12.1.1, который изначально поддерживает fromEntries
, и Safari 11.1.1, который этого не делает.
Насколько мне известно, все, что мне нужно, это правильная конфигурация ember-cli-build.js
.
Я был бы признателен, если бы кто-нибудь мог сказать мне, почему следующие настройки не заполняют функцию должным образом:
const app = new EmberApp(defaults, {
'ember-cli-babel': {
// supposedly should inject core-js/stable into app
// @see https://github.com/babel/ember-cli-babel#polyfill
includePolyfill: true,
},
babel: {
// should replace injected core-js/stable with imports
// that are not natively supported by config/targets.js
// @see https://babeljs.io/docs/en/babel-preset-env#usebuiltins-entry
useBuiltIns: 'entry',
// explicitly use corejs v3 per babel-preset-env docs
corejs: 3,
// force inclusion of fromEntries regardless of config/targets.js
include: [
'es.object.from-entries',
],
},
//...
});
Я вижу, что это там: https://github.com/babel/babel/blob/v7.5.5/packages/babel-preset-env/src/polyfills/corejs3/built-in-definitions.js#L265
Версии пакета:
- [email protected]
- [email protected]
- [email protected]
- @babel/ядро@7.5.5
- ядро[email protected]
ember serve
, чтобы зарегистрировать изменения в этом специальном файле. Не могли бы вы уточнить ошибку, которую вы видите? Просто не работает в сафари? - person jrjohnson   schedule 14.08.2019Object.fromEntries
, независимо от моей конфигурации полифилла, Safari 11 говорит, что Object.fromEntries не является функцией, и Safari 12 отлично работает на странице, которая ее использует. Когда я использую инструменты разработки Safari, я вижу, что v12 имеет собственную реализациюObject.fromEntries
, а v11 не определяет ее. Возможно, мои предположения о том, как работают эти опции, неверны. Я не смог найти исчерпывающего руководства по Ember по этому делу. - person krukid   schedule 15.08.2019useBuiltIns
наusage
, то сборка не сможет найти некоторый импортcore-js
(что тоже кажется странным, но это другой случай), и если я добавлю несуществующий полифилл какinclude
, то он выдаст ошибку сборки, как и следовало ожидать . - person krukid   schedule 15.08.2019