我正在使用默认的polyfill选项,尽管Gatsby在我的网站上无法正确为iPhone 5 / 5S和其他一些较旧的浏览器进行polyfilling(尽管在IE11上似乎可以正常工作)。ReferenceError: Can't find variable: Set
不知道我应该在polyfill周围设置什么工作,或者不确定Gatsby为何不进行polyfilling在所有设备上正确设置。
我尝试了gatsby-plugin-polyfill-io
插件,它似乎使错误Uncaught TypeError: Cannot read property 'split' of undefined
变得更糟。
有什么想法或建议吗?
最佳答案
您应该在gatsby-browser.js上添加polyfill
例如:
export const onClientEntry = async () => {
if (typeof IntersectionObserver === 'undefined') {
await import('intersection-observer');
console.log('👍 intersection-observer imported')
}
}
或gatsby-ssr.js
export const onRenderBody =({ setPostBodyComponents }, options) =>{
setPostBodyComponents([
<script
src="https://cdn.polyfill.io/v3/polyfill.min.js"
/>
])
}
关于javascript - Gatsby中的灌装套件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53137201/