Основная проблема, с которой я сталкиваюсь, заключается в том, что IE11 не работает с Object doesn't support property or method 'find'. Кажется, мне нужно импортировать babel-polyfill, но я не могу найти подходящее место для импорта.
gatsby build терпит неудачу с Module build failed: Error: only one instance of babel-polyfill is allowed.gatsby build снова терпит неудачу.Что я должен сделать?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Решение:
// gatsby-node.js
exports.modifyWebpackConfig = ({ config, stage }) => {
if (stage === "build-javascript") {
config._config.entry.app = ["babel-polyfill", config.resolve().entry.app];
}
return config;
};
Единственная грязная часть - это доступ к частному (с префиксом подчеркивания) свойству _config. Теоретически, более подходящее решение выглядело бы так:
exports.modifyWebpackConfig = ({ config, stage }) => {
if (stage === "build-javascript") {
config.merge({
entry: {app: ["babel-polyfill", config.resolve().entry.app]}
});
}
return config;
};
Причина, по которой это не сработало, заключается в том, что исходное значение entry.app было строкой, а мое новое значение entry.app - массивом, а функция слияния пытается объединить два, нажимая каждый отдельный символ исходной строки как элемент новой множество. Если кто-то знает, как заставить лучшее решение работать, я бы хотел улучшить этот ответ, но до тех пор первое, по крайней мере, работает.