Webpack 为什么我的React应用程序不能在Safari 10.1中运行?
我的应用程序在其他浏览器中运行良好,但在Safari 10.1中无法加载,我不知道如何修复它。我想这可能是因为Safari 10.1不支持Webpack 为什么我的React应用程序不能在Safari 10.1中运行?,webpack,safari,fetch,polyfills,Webpack,Safari,Fetch,Polyfills,我的应用程序在其他浏览器中运行良好,但在Safari 10.1中无法加载,我不知道如何修复它。我想这可能是因为Safari 10.1不支持fetch,但我在我的webpack.config.js中添加了一个fetch polyfill(whatwg fetch),它仍然不起作用: module.exports = { entry: { back: ["@babel/polyfill", "whatwg-fetch", "./back-end/index.jsx"], ...
fetch
,但我在我的webpack.config.js中添加了一个fetch polyfill(whatwg fetch
),它仍然不起作用:
module.exports = {
entry: {
back: ["@babel/polyfill", "whatwg-fetch", "./back-end/index.jsx"],
...
},
output: {
...
以下是错误控制台的屏幕截图:
以下是“网络”选项卡的屏幕截图:
谢谢。发现了问题,它与
获取相关
我读到的是:
这是fetch的一个问题-我猜Safari需要您传入凭据:“include'
,否则它不会发送cookie(与Chrome不同)
我注意到,在我的网络选项卡屏幕截图中,对/user
的API调用返回了一个401,这意味着用户没有登录。。。但该API调用发生在用户登录之后,这听起来确实像是一个cookie问题
要修复它,我只需将凭据:“include'
添加到我的通用get()
函数中,该函数使用fetch
:
export const get = async function(url) {
const response = await fetch(url, {
credentials: "include" // added this for safari 10
});
return await response.json();
};
Safari 14似乎也是如此。