Как интегрировать whatwg-fetch в Gatsby

Кто-нибудь знает, как интегрировать полифилл whatwg-fetch fetch в gatsby?

Пока что я сделал import 'whatwg-fetch'; в gatsby-browser.js. Теперь я не уверен, как добавить его в качестве первого элемента в свойство entry веб-пакета, предположительно в gatsby-node.js.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
0
1 135
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, вот копия моего (проверенного и работающего) gatsby-browser.js:

import 'whatwg-fetch' // require('whatwg-fetch') // if it's gatsby v2 - https://gatsby.app/no-mixed-modules

exports.onClientEntry = () => {
  // Don't need to do anything here, but if you don't
  // export something, the import won't work.
}

Нет необходимости добавлять whatwg-fetch в свойство entry webpack в gatsby-node.js.

Также whatwg-fetch зависит от Promises, но Promise - это уже заполненный в Гэтсби, поэтому нет необходимости добавлять дополнительный полифилл для Promise.

Я думаю, что может быть необходимо сделать import { fetch } from 'whatwg-fetch' только в том компоненте, который в этом нуждается. Подход gatsby-browser.js реализует полифил на каждой создаваемой странице, что может быть ненужным в зависимости от приложения.

CryptoCarl39 17.04.2019 00:54

@pingo Как бы то ни было, Гэтсби использует выборку, поэтому вам почти гарантированно понадобится полифилл на каждой странице, если вы ориентируетесь на браузеры, которые его не поддерживают (которым почти все старше трех лет).

coreyward 14.11.2019 20:55

Другие вопросы по теме