Gatsby: 缺少/的资源

创建于 2019-02-03  ·  112评论  ·  资料来源: gatsbyjs/gatsby

概要

在生产站点上,我会定期看到以下错误;

Error: Missing resources for /
  at render(./.cache/ensure-resources.js:133:17)
  at Sg(./node_modules/react-dom/cjs/react-dom.production.min.js:169:129)
  at Hh(./node_modules/react-dom/cjs/react-dom.production.min.js:214:16)
  at Ih(./node_modules/react-dom/cjs/react-dom.production.min.js:215:274)
  at ji(./node_modules/react-dom/cjs/react-dom.production.min.js:230:233)
  at ki(./node_modules/react-dom/cjs/react-dom.production.min.js:229:143)
  at Fh(./node_modules/react-dom/cjs/react-dom.production.min.js:226:196)
  at bg(./node_modules/react-dom/cjs/react-dom.production.min.js:224:28)
  at qi(./node_modules/react-dom/cjs/react-dom.production.min.js:243:14)
  at render(./node_modules/react-dom/cjs/react-dom.production.min.js:251:109)
  at oi(./node_modules/react-dom/cjs/react-dom.production.min.js:254:364)
  at Ai(./node_modules/react-dom/cjs/react-dom.production.min.js:254:350)
  at apply(./.cache/production-app.js:114:7)
  at r(./node_modules/@sentry/browser/dist/index.js:3114:1)

似乎有时这会导致网站根本无法呈现,而只显示空白页面。

相关信息

您可以在此处查看

环境(如果相关)

这是构建网站的环境;

  System:
    OS: macOS High Sierra 10.13.2
    CPU: x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 8.11.1 - ~/.nvm/versions/node/v8.11.1/bin/node
    Yarn: 1.9.4 - ~/.nvm/versions/node/v8.11.1/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v8.11.1/bin/npm
  Browsers:
    Chrome: 71.0.3578.98
    Safari: 11.0.2
  npmPackages:
    gatsby: ^2.0.19 => 2.0.72
    gatsby-image: ^2.0.15 => 2.0.20
    gatsby-plugin-create-client-paths: ^2.0.2 => 2.0.2
    gatsby-plugin-google-gtag: ^1.0.8 => 1.0.8
    gatsby-plugin-manifest: ^2.0.5 => 2.0.10
    gatsby-plugin-offline: ^2.0.11 => 2.0.17
    gatsby-plugin-page-transitions: ^1.0.7 => 1.0.7
    gatsby-plugin-react-helmet: ^3.0.0 => 3.0.2
    gatsby-plugin-sharp: ^2.0.18 => 2.0.18
    gatsby-plugin-stripe-elements: ^1.0.9 => 1.0.9
    gatsby-plugin-twitter: ^2.0.8 => 2.0.8
    gatsby-source-filesystem: ^2.0.4 => 2.0.12
    gatsby-transformer-sharp: ^2.1.12 => 2.1.12
  npmGlobalPackages:
    gatsby-cli: 2.0.0-rc.1
    gatsby-plugin-countly: 0.2.0

不知道从哪里开始进行调试,因此不胜感激!

needs reproduction question or discussion

最有用的评论

@wardpeet正在进行一些测试以模拟网络问题,但是我们应该在接下来的24小时内解决此问题。

所有112条评论

也许,尽管这里没有404的东西。

抱歉,您看到了这个, @ Jivings

如果可以的话,您可以链接至最小复制品吗?

我无法在本地复制🙁是否可以获取更多信息,或者哨兵报告是否对您有帮助? 在什么情况下会发生这种情况,以便我可以缩小范围?

我也看到了这一点,但是只有在部署之后,我才能在本地复制。

Uncaught Error: Missing resources for /store/
    at t.n.render (ensure-resources.js:135)
    at Xo (react-dom.production.min.js:156)
    at Qo (react-dom.production.min.js:155)
    at ti (react-dom.production.min.js:162)
    at Oi (react-dom.production.min.js:192)
    at ji (react-dom.production.min.js:193)
    at fa (react-dom.production.min.js:205)
    at sa (react-dom.production.min.js:204)
    at Mi (react-dom.production.min.js:200)
    at ya (react-dom.production.min.js:218)

我注意到尽管如此,但我只在尝试从代码中删除ThemeProvider(样式化组件)的分支上收到此错误,并且我猜测由于没有添加/更新/删除程序包,文件结构中出现了一些混乱。 如果我查明原因但没有更多内容,将会更新。

我在这里遇到同样的问题...首先,对不起我的英语,我是说西班牙语的__(ツ)_ /¯

Error: Missing resources for /...
    at t.n.render (ensure-resources.js:135)
    at Ri (react-dom.production.min.js:169)
    at Ci (react-dom.production.min.js:168)
    at Li (react-dom.production.min.js:176)
    at Ba (react-dom.production.min.js:221)
    at Ha (react-dom.production.min.js:222)
    at Pl (react-dom.production.min.js:238)
    at Tl (react-dom.production.min.js:237)
    at wl (react-dom.production.min.js:234)
    at Qa (react-dom.production.min.js:232)

首先,在一些背景下,我遇到了一个与使用window的轮播包Tiny Slider有关的问题,因此我搜索了实施了SSR的不同轮播,然后发现了react- response-carousel 。 我可以根据需要很好地工作,但是只能在develop

提到的错误发生在两个相关的场景中:

场景1
我使用样式化组件来对幻灯片进行样式化,但是添加mixins破坏了我的构建。 我发现添加gatsby-plugin-styled-components解决问题; 它可以工作,但是...情况2发生了

方案2
现在我的构建工作正常了,我可以看到带有样式的页面。 但是,我的旋转木马不起作用,它什么也没做!!! 😱...虽然样式看起来很棒...😅
所以我只删除了gatsby-plugin-styled-components ,脚本再次起作用了,但是我的样式却没有了

希望这能给您一些提示以找到并解决问题

嗨,大家好。

不知道这是否有帮助,但是我遇到了类似的问题,原来我缺少的资源是Firebase的缺少(生产)env变量。 这反过来似乎影响了我的图像-这一定会对构建步骤产生影响

如果需要可以提供更多信息...

@Jivings您可以更新gatsby和gatsby-plugin-offline软件包吗? 当您进行新构建时会发生这种情况,但是以前的资源不再可用(因此脱机插件缓存的html尝试使用不可用的资源)。 在较新的gatsby / offline软件包版本中,我们在服务工作者更新后添加了重新加载,以使站点保持不可用状态

在我的情况下,我将导入从import { Link } from './'更改import { Link } from './Link' (在我的文件/components/footer.js ),它确实修复了错误“ /缺少资源”。 我猜这是一个循环依赖。 但我不知道它是否能解决您的问题
编辑:如果错误定期发生,我认为@pieh上面的解决方案有更好的机会修复它。

我收到这些错误,但仅在IE11中。 据我所知,我不确定到底是哪个资源失败了,因为它仅发生在一个浏览器中,但是我确实在react-dom中看到一些错误(请参见下面的屏幕截图)。 我将所有Gatsby依赖项更新到了最新版本,并添加了一个polyfill ,以防它被Symbol阻塞或太过现代,但仍然会发生错误。 我在IE11中也有图像加载问题,我相信像#4021中讨论的那样。 如果删除所有图像和脱机插件,则页面加载不会出现任何错误,但是导航到其他任何页面时也不会出错,即使它们不包含图像也是如此。 看起来有些JS无法加载,而IE可能显示的是HTML 404页面。 因此,这里肯定发生了一些不可思议的事情。

我正在处理部署到Netlify的开发分支,以测试各种设备上的修复程序。
如果要测试它,这是最新的调试版本: https :
这是我的实时站点,该站点肯定仍具有IE11的所有缺陷: https ://marcysutton.com
这是我的网站资源: https :

这是我的VM的一些屏幕截图:

stack trace
script errors in console
react-dom looks related

@marcysutton您对此有什么进展吗? 我只在IE11中看到相同的内容。 在任何其他浏览器中都没有问题。

还没! @sidharthachatterjee@pieh ,这是否足以调试? 目前,IE11中存在相当大的阻塞问题。

@Undistraction我有一个好消息:团队帮助我调试了这个问题,他们指出IE11在插件中未编译的箭头函数( gatsby-background-image )遇到了麻烦。 他们正在讨论对Gatsby核心的更改以解决此问题,但与此同时,您应该能够通过编译会导致问题的任何插件来解决此问题: https :

这是我在网站上使用它的位置: https :

让我们知道您是否还有任何问题!

同样的问题,在我几天未访问的网站(以及盖茨比网站)上定期看到。 不是在IE11上,而是在Chrome上。 几秒钟的空白页后,将进行刷新,然后一切都将恢复正常。

一个示例的版本:
gatsby2.0.118
gatsby-plugin-offline2.0.23

我在IE(边缘模式)中收到此错误。

它指向第1个字符195183中的文件react-dom.production.min.js

当单击IE中的错误时,它指向以下代码:

if(pi)throw a=qi,qi=null,pi=!1,a;}

@marcysutton感谢您的更新。 我没有在您的控制台中发现该语法错误。 对于我们来说,我们没有任何错误。 IE11中的页面导航已完全中断,并且页面没有水化。 在页面刷新上,我们确实会收到缺少资源的错误。 我们已经放弃了IE11支持,因为没有任何事情可做。 任何其他浏览器都没有问题。 我的直觉是这是一个polyfill问题,但是错误正在某个地方被吞没,但这只是一个猜测。 我不明白如何在控制台中没有任何错误的情况下使页面水化崩溃。

我在(1st)加载时遇到此错误。 重新加载后似乎清除。 生产/ Firebase托管。
Error: Missing resources for /

@rkhayat您可以链接到URL还是提供更好的复制品

谢谢!

FWIW我在https://github.com/gatsbyjs/gatsby/issues/12399上写下了有关此问题的经验,这可能会对遇到Missing resources for /错误的人有所帮助。

我遇到了类似的问题:可以很好地浏览该网站,但是在任何页面上,如果他们刷新了,该页面将为空白,我会看到Error: Missing resources for /<path> 。 硬刷新或清除缓存将重新加载页面,但再次正常刷新将显示空白页面。

无法使用gatsby server在本地复制此文件,我怀疑这是CDN问题,因此我使CloudFront发行版中的根目录无效,这似乎为我解决了此问题。 我仍然不确定到底发生了什么,但是怀疑有些参考文献已经过时了。 希望这对其他人有帮助。

iya!

这个问题已经悄无声息。 幽灵般的安静。 👻

我们遇到了很多问题,因此我们目前在闲置30天后就关闭了问题。 从这里的最新更新已经至少有20天了。

如果我们错过了此问题,或者您想使其保持打开状态,请在此处回复。 您也可以添加标签“ not stale”以保持此问题的状态!

感谢您加入盖茨比社区! 💪💜

@ gatsbyjs-read-only-user不陈旧😬

@Undistraction我有一个好消息:团队帮助我调试了这个问题,他们指出IE11在插件中未编译的箭头函数( gatsby-background-image )遇到了麻烦。 他们正在讨论对Gatsby核心的更改以解决此问题,但与此同时,您应该能够通过编译会导致问题的任何插件来解决此问题: https :

这是我在网站上使用它的位置: https :

让我们知道您是否还有任何问题!

@marcysutton您如何识别包含未编译箭头功能的插件/模块?

@onetwothreebutter在浏览器中打开已编译的JavaScript文件,然后搜索=> 。 IE很难区分它们的来源,因此我只是使用“ Ctrl + F”进行了手动搜索

随着时间的推移,这应该会改善核心,但这就是您可以同时检查的方式!

还要补充一点,这个问题在我们所有的浏览器和版本中仍然存在,不仅是IE,而且似乎是通过在Gatsby中使用Service Worker触发的。 相关:#12399

我也面临同样的问题。

  • 如果启用了服务工作者,则刷新页面会导致上述错误。 此问题主要出现在Chrome上。 Edge浏览器似乎运行良好(可能是因为服务人员未在其中发挥作用)
  • 在删除服务人员并使用插件gatsby-plugin-remove-serviceworker此问题消失了
    使用的分辨率:
  • 但是,考虑到让服务器工作人员正常工作的重要性,请尝试将插件gatsby-plugin-remove-trailing-slashes与PWA插件gatsby-plugin-offline结合使用,这似乎为我解决了这个问题。

我遇到此错误,并且没有使用服务人员。
我在想,如果页面加载了特定版本的网站,然后完成了部署并且资产名称发生了更改,因此打开的版本找不到它们,可能会发生这种情况?
此外,引起哨兵错误的版本不是错误发生时的活动版本。

@antoinerousseau是的,经过几次尝试修复它,即使没有软件,我们仍然可以得到它。 我们确实将一些Gatsby插件升级到了最新版本,并且减少了错误计数,但没有减少到0。(虽然很可能是巧合)

@KyleAMathews您是否已看到此消息,或有任何信息?

@jackhair很难不复制就知道发生了什么。 http://gatsby.dev/reproduction

解决方法: https

@smakosh我没有使用服务人员。

离线插件正在使用它

好的,但是我的意思是即使没有该插件,该错误也会发生。

您是否可以像以前使用过的那样检查是否已成功注销SW,请尝试通过删除public.cache文件夹来清除Gatsby缓存

从未在该项目上使用任何软件。 (并只是检查以防万一)
public.cache始终由Netlify重新创建。
Sentry正在生产中报告错误。
https://sentry.io/share/issue/738b234836814442b7702866c6814fdf/

您的项目是开源的吗? 如果可以的话,您可以在下面链接吗,我想检查一下,看看如何解决该问题

抱歉,不是,但是基本上是Netlify服务的Gatsby网站...

  "dependencies": {
    "@sentry/browser": "^5.1.1",
    "@types/algoliasearch": "^3.30.8",
    "@types/dotenv": "^6.1.0",
    "@types/he": "^1.1.0",
    "@types/jump.js": "^1.0.2",
    "@types/node": "^11.13.7",
    "@types/node-fetch": "^2.3.3",
    "@types/react": "^16.8.14",
    "@types/react-dom": "^16.8.4",
    "@types/source-map-support": "^0.5.0",
    "@types/standard-http-error": "^2.0.0",
    "@types/styled-components": "^4.1.14",
    "algoliasearch": "^3.32.0",
    "aws-sdk": "^2.443.0",
    "babel-plugin-styled-components": "^1.10.0",
    "date-fns": "^2.0.0-alpha.27",
    "gatsby": "^2.3.31",
    "gatsby-image": "^2.0.40",
    "gatsby-plugin-google-analytics": "^2.0.18",
    "gatsby-plugin-manifest": "^2.0.29",
    "gatsby-plugin-netlify": "^2.0.15",
    "gatsby-plugin-offline": "^2.0.24",
    "gatsby-plugin-react-helmet": "^3.0.12",
    "gatsby-plugin-sharp": "^2.0.35",
    "gatsby-plugin-styled-components": "^3.0.6",
    "gatsby-plugin-typescript": "^2.0.13",
    "gatsby-source-filesystem": "^2.0.32",
    "gatsby-transformer-sharp": "^2.1.18",
    "he": "^1.2.0",
    "hyphenslug": "^1.0.0",
    "intersection-observer": "^0.6.0",
    "jump.js": "^1.0.2",
    "mkdirp2": "^1.0.4",
    "mustache": "^3.0.1",
    "node-fetch": "^2.3.0",
    "nodemailer": "^6.1.1",
    "prop-types": "^15.7.2",
    "react": "^16.8.3",
    "react-dom": "^16.8.3",
    "react-helmet": "^5.2.0",
    "sitemap": "^2.1.0",
    "source-map-support": "^0.5.12",
    "standard-http-error": "^2.0.1",
    "strip": "^3.0.0",
    "styled-components": "^4.1.3",
    "ts-node": "^8.1.0",
    "typescript": "^3.4.5",
    "whatwg-fetch": "^3.0.0"
  },

我看到离线插件已安装,您能确认它不包含在您的gatsby-config文件中吗?

是的,抱歉,但没有使用,这是我的Gatsby配置:

module.exports = {
  siteMetadata: {/*...*/},
  plugins: [
    `gatsby-plugin-typescript`,
    `gatsby-plugin-styled-components`,
    `gatsby-plugin-react-helmet`,
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    {
      resolve: `gatsby-plugin-sharp`,
      options: {
        defaultQuality: 80,
      },
    },
    `gatsby-transformer-sharp`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Le Bikini`,
        short_name: `Le Bikini`,
        start_url: `/`,
        background_color: `#000000`,
        theme_color: `#000000`,
        display: `minimal-ui`,
        icon: `src/images/favicon.png`,
      },
    },
    `gatsby-plugin-netlify`,
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        trackingId: process.env.GOOGLE_ANALYTICS,
        head: false,
        anonymize: true,
        respectDNT: true,
      },
    },

    // this (optional) plugin enables Progressive Web App + Offline functionality
    // 'gatsby-plugin-offline',
    // To learn more, visit: https://gatsby.app/offline
  ],
}

您可以在https://lebikini.netlify.com上实时查看

如果没有复制存储库,我将无能为力,因为我需要检查更多内容以进行调试

小心@antoinerousseau
根据插件文档, gatsby-plugin-netlify插件应该是插件数组中的最后一个
https://www.npmjs.com/package/gatsby-plugin-netlify

@abumalick @antoinerousseau我们将gatsby-plugin-netlify移到插件数组的末尾,它没有任何改变。

也许这可能与它有关? https://github.com/gatsbyjs/gatsby/issues/11982

每当我自己遇到问题时(一次偶然的机会),它总是与页面清单丢失有关。

我在此处概述了在所有相关情况下适用于所有情况的唯一修复程序: https :

我遇到过同样的问题。 我的情况与@ efd1相同-以import { Module } from "."形式导入破坏了我的生产版本(开发工作正常,没有任何问题)。 不幸的是,调试和查找并不是很容易。

image

上面的建议似乎对我不起作用。 我只在iOS用户中偶尔看到此消息。 我似乎无法复制它,因此很难找出可能出问题的地方。 关于如何找出潜在问题的任何技巧?

为了回应Kyle的上述说法,我们需要可复制的演示站点才能提供帮助。 http://gatsby.dev/reproduction

没有复制就很难说出正在发生的事情。 http://gatsby.dev/reproduction

@KyleAMathews老实说,我认为这在部署到Netlify的多个页面上的每个Gatsby网站上都会发生。 把哨兵扔上一个,自己看看。

我说这句话还为时过早,例如,我所有的Gatsby项目都已部署到Netlify,而我却从未见过错误(在最近几个月中)。 复制确实确实有帮助。

@ LekoArts @ marcysutton Sentry跟踪仍在此处公开提供。

这些帮助有用?

该错误大约每天一次在我的生产站点上发生。

我说这句话还为时过早,例如,我所有的Gatsby项目都已部署到Netlify,而我却从未见过错误(在最近几个月中)。 复制确实确实有帮助。

@lekoarts您是否设置了Sentry? 有多少流量?

该错误大约每天一次在我的生产站点上发生。

@Jivings有多少流量? 我试图了解频率。

据我所知,自3月1日以来,我在自己维护的一个网站上的160k浏览量(47k会话)中捕获了541个此错误的实例。 网页浏览触发行为的几率是0.3%,会话经历此行为的几率是1.2%。 就复制品而言并不重要; 我们可能需要老式的跟踪,侦听和其他调试才能将其隐瞒。

在移动设备上这种情况更为常见,但他们的访问更多来自移动设备,并且在桌面设备上也是如此。 品牌/型号/浏览器似乎无关紧要。 就其价值而言,这是一个流音频平台,因此我们倾向于看到比以营销为中心或看到大量进出流量的网站更长的会话持续时间。

有人使用Sentry在生产_without_中看到此错误吗? 是否有人在使用Honeybadger,Raygun,Rollbar,Airbrake或类似产品?

@coreyward还可以与Raygun间歇地看到它。 它仅在一个特定页面上,仅影响Mobile Safari和Chrome。

@coreyward我们使用Bugsnag,并且在上个月看到它约4.8k次。

@coreyward也许这是有帮助的:

(来自https://github.com/gatsbyjs/gatsby/issues/12399#issuecomment-480082161)

我们使用Bugsnag,并且看到它出现在大约1%的流量中。 浏览器似乎大致符合我们的整体流量分布-那里看不到任何清晰的模式。

@coreyward似乎会影响我们约1%的流量。

@KyleAMathews嘿,我刚刚在生产GatsbyJS网站上遇到此错误。 刷新几次后,问题消失了。

Screen Shot 2019-05-24 at 6 02 32 PM

在使用脱机插件并在Azure blob存储加上CDN上进行部署时,我们一直遇到此问题。 我读到,服务工作者js不能从CDN获得服务,而应该直接来自服务器域。 可能是根本原因。

我们已经部署了ers-hcl.github.io并在ghpages上启用了脱机插件和服务工作器。那里从来没有遇到过这个问题,这可能指向我之前关于脱机插件的CDN处理相关问题的评论

此问题与离线插件无关。 而且,如果您使用的是离线插件,请确保重新加载或向用户显示推送通知,告知用户可以使用新内容来更新软件。

@smakosh每当我们禁用离线插件时,这个问题对我们来说就消失了。

我们正在看到它,我们不使用离线插件。

  • 我可能是错的-文件ensure-resources.js中的一个观察结果是引发此错误的组件,但考虑到以防万一。
  • 查看ensure-resources.js的代码,似乎在第81行使用window.location ,因为这里有一个属性location ,正在所有其他地方。

image

我怀疑我们的特殊情况会对其他许多人有所帮助,但是我想在这里分享一下,以防万一。

由于CORS问题,这正在影响DataCamp.com。 我们正在通过Cloudfront服务的S3上使用资产前缀和托管资产。 在第一次使用资产前缀进行部署期间,我们忘记了在S3中设置CORS标头,以允许从我们的域(哎呀)访问资产。 一两分钟后,我们更新了CORS标头,但显然已经调用资产的任何边缘节点显然不仅缓存了资产内容,还缓存了CORS标头! 这产生了一种幻觉,即一些奇怪的错误仅影响一小部分用户,而实际上问题是一小部分边缘节点缓存了旧标头。 我们通过在Cloudfront中为所有资产创建失效来解决此问题。

更笼统地说:如果您的任何用户的adblocker都在选择某个特定的资产名称,而该资产名称可能与广告或跟踪相关,那么在您的资产服务器和最终用户之间的任何时候,都有中间人可能会为一个小标题修改标题用户的百分比(例如,过滤内容的公司网络),或者如果发生任何其他奇怪的网络事件,似乎所有这些因素都可能导致此错误。

我们遇到了同样的问题,事实证明背后的主要原因是循环依赖

@bigfanjs您可以在那儿再详细一点吗?

@DSchau最近,一个队友添加了一项功能,我们进行了部署,浏览器开始抱怨类似的问题,我们没有任何想法,我的队友创建了一个页面和一个大型的可重用组件。 因此,我们在页面和组件中都注释了代码,而是渲染了<div />标签。 然后先运行gatsby build ,然后再运行gatsby serve以便在本地进行服务器生产。 我们通过注释一些代码开始缩小范围,并每次都运行上述建议。 喜欢:

import {Button} from "components/kit"

// comment the rest to see if `Button` is causing the issue
// import {Box} from "components/kit"
// import {Form} from "components/kit" 

下次我们评论Box ,依此类推...

所以最后证明错误很简单。

我们有一个称为kit通用组件,它导入了几个组件:

组件/套件

| --- Box.js
| --- Button.js
| --- Form.js
| --- index.js

index.js

export { default as Box } from "./Box"
export { default as Button } from "./Button"
export { default as Form } from "./Form"

例如在Form我们试图以这种方式导入Box
import {Box} from "components/kit"

但这导致了问题,我们将其更改为:
import {Box} from "./Box"

而且有效。

希望能有所帮助。

同样的问题,在我几天未访问的网站(以及盖茨比网站)上定期看到。 不是在IE11上,而是在Chrome上。 几秒钟的空白页后,将进行刷新,然后一切都将恢复正常。

一个示例的版本:
gatsby2.0.118
gatsby-plugin-offline2.0.23

我对此有类似的错误。 而且我无法在生产版本上访问netlify cms管理员页面。
我发现这是因为最终导致gatsby和gatbsy-plugin-offline版本不匹配。
竖起大拇指!!!

对于偶尔会看到此错误的人(实际上是在意料之中的),每当您部署网站的新版本时,大多数主机都会删除该网站的旧版本,这意味着该网站上已有任何试图导航到页面的人都不会能够找到该页面的资源,因此将引发此错误,然后通过重新获取该页面的HTML来触发完全刷新。

您可以在这里查看测试: https :

@KyleAMathews似乎不是由于此丢失的资源错误而触发刷新,因此用户被卡在残缺的页面或仅仅是白纸上。 我们需要离线插件来确保刷新吗?

不...如果发生这种情况,那是Gatsby中的错误。 您所描述的场景是否有复制品?

-
凯尔·马修斯(Kyle Mathews)

博客: http
Twitter: http

在2019年6月4日(星期二)下午3:05,杰克(Jack)<[email protected]>写道:

@ KyleAMathews(https://github.com/KyleAMathews)似乎刷新了
未被此丢失的资源错误触发,因此用户被卡住了
在残破的页面或仅是白色页面上我们需要离线插件吗
确保刷新发生?

-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看(
https://github.com/gatsbyjs/gatsby/issues/11524?email_source=notifications&email_token=AAARLB6OVB47GMB5K2242M3PY3RLFA5CNFSM4GUAYCZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNWWXHJJCOMT
),或使线程静音(
https://github.com/notifications/unsubscribe-auth/AAARLB7QKXUL3AZF4MXCO33PY3RLFANCNFSM4GUAYCZA
)。

@KyleAMathews除了在我们的生产站点上碰上它时,我无法在本地复制它。 复制将需要建立一个全新的带Netlify集成的存储库,然后不断推送更新,直到最终找到它为止。

确实, @ coreyward在注释中进一步在Gatsby网站上捕获了它。

与该讨论同样重要的是, @ Moocar一直在对我们如何在运行时加载数据的方式进行大规模重构https://github.com/gatsbyjs/gatsby/pull/13004

我目前没有复制品,但可以确认的是,我至少看过六遍,但它本身并没有刷新。

@KyleAMathews,我们发现在所有浏览器中,有1%的请求完全独立于部署时间而发生–即使最后一次部署是在星期五,我们也会以相同的速度在星期日看到它。 这是一个Bugsnag屏幕截图,用于说明一段时间内的相对一致性(当然,正常流量的变化仍然会带来一些麻烦):

image

@gwlortscher非常有趣-那时似乎与部署无关。 看起来这张图是显示错误计数的图表。 您能否共享占请求百分比的图表? 我认为流量没有变化吗?

只是为了增加可能的原因:
在我的情况下,它是new Buffer(val, 'base64').toString();来代替SSR中的atob
(基本上,如果atob不可用,请使用node-js版本。)
在开发工作,正确编译,在prod页面启动时崩溃。 此外,包含就足够了,代码从未执行过,只是存在于启动时将要加载的块中。

@KyleAMathews Bugsnag似乎没有%请求图,但很容易从分析中计算出来。 这是过去8天(错误占请求的百分比):

6/1 2.4%
6/2 2.3%
6/3 2.2%
6/4 2.4%
6/5 2.4%
6/6 2.1%
6/7 2.4%
6/8 2.4%

升级到Gatsby v2.9.4时,我们首先看到了这种情况。 恢复到2.8.5解决了该问题。 仍在尝试分析原因。

我们遇到了同样的问题,并通过降级到2.8.5来解决此问题。 在这样做之前,我们经常会因“ /”的资源丢失而出错

@bmatzner @wilcoxmd我们已经使用2.8.x已有一段时间了,自从我们第一次从v1迁移到v2以来,每次Gatsby升级都一直缺少资源。 自v2以来,一致地没有峰值或升级时的变化。

我们肯定已经在2.8.5之前看到了很长一段时间。 我认为这个问题有多种原因。 v2.94似乎已经引入了另一个。

@bmatzner @wilcoxmd我们已经使用2.8.x已有一段时间了,自从我们第一次从v1迁移到v2以来,每次Gatsby升级都一直缺少资源。 自v2以来,一致地没有峰值或升级时的变化。

相同

@jackhair,我明白了。 我们尚未启动我们的Gatsby网站,所以我不知道我们是否还会看到一定比例的流量看到此问题。 我们在部署登台版本时遇到此问题。 我们使用的是2.9.2,可以在本地提供构建服务,但一切正常,但是一旦部署它,我们在任何浏览器上都会出现永久性的资源丢失错误。 降级到2.8.5只是允许我进行部署并使站点开始工作。

@jackhair,我明白了。 我们尚未启动我们的Gatsby网站,所以我不知道我们是否还会看到一定比例的流量看到此问题。 我们在部署登台版本时遇到此问题。 我们使用的是2.9.2,可以在本地提供构建服务,但一切正常,但是一旦部署它,我们在任何浏览器上都会出现永久性的资源丢失错误。 降级到2.8.5只是允许我进行部署并使站点开始工作。

有趣。 就其价值而言,我们永远无法在本地复制问题(gatsby开发),只有在生产环境中构建问题时,我们才能看到问题。

我们在2.9.2上有一个prod分支,看起来很有希望,到目前为止没有问题,但是与主要生产相比,它的访问量很小。 部署完毕后,我会发布结果,希望上周页面清单更新到Gatsby会有所帮助。

我们已经有2.9.0的产品投入生产,但是不幸的是,该问题的发生率仍然与以前一样,即所有浏览器的1-2%。

版本从2.9.4回滚到2.8.5 2.9.4似乎已经解决了我们的问题。
在我们的情况下,它似乎与某些丢失的pages-manifest-{hash}.js[.map]文件有关。
2.9.32.9.4版本具有一些潜在的重大更改:请参阅https://github.com/gatsbyjs/gatsby/pull/14732 (来自Gatsby包changelogs:https://github.com /gatsbyjs/gatsby/blob/master/packages/gatsby/CHANGELOG.md)。
为了确认这一点,对我们来说最后的测试应该是将Gatsby升级到2.9.2

仅供参考@moocar具有PR,可以使资源加载更加稳定,例如重试失败或部分加载的资源https://github.com/gatsbyjs/gatsby/pull/14889

如果您有时间审核/尝试,不胜感激。 抱歉,我没有及早发现该问题-在最近使用@Moocar进行深入研究之前,目前尚不清楚这种情况的

我不知道这是否会对您有所帮助,但是几分钟前我在https://gatsbyjs.org/contributing了它:

Screenshot 2019-06-19 at 17 04 17

重新加载后已修复,但似乎值得放在这里@KyleAMathews

我认为这可能是脱机插件配置的问题,因为它可能无法正确检查页面清单文件的更改,因此无法保留旧文件。

由于我已经编写了许多离线插件,因此下周将尝试使用@wardpeet进行查看-可悲的是,我最近一直非常忙于考试和计划搬家,因此无法检查所有这些内容正确更改😞

@ davidbailey00在您深入调试之前,无论有没有离线插件,我们都会遇到这种情况。

@ davidbailey00,我们也遇到了没有离线插件的问题。 它在我的节点模块中,但是仍然在我的配置文件中被注释掉了。

没有安装脱机插件,我们也会遇到这种情况。

@ davidbailey00是的,我们认为主要解决方法是正确处理了一些有关Ajax请求的异常情况并添加了重试逻辑https://github.com/gatsbyjs/gatsby/pull/14889

在过去的4到5天内,我们已将PR部署到gatsbyjs.org上,情况看起来真的很好! 自部署以来,没有新的“资源丢失”事件。

https://github.com/gatsbyjs/gatsby/pull/14889#issuecomment -505872897

@wardpeet正在进行一些测试以模拟网络问题,但是我们应该在接下来的24小时内解决此问题。

谢谢@KyleAMathews等不及要开始运行了!

@KyleAMathews感谢您和您的团队所做的更新!

@KyleAMathews我的网站上仍然出现此问题。 在本地它工作正常,而在生产中则不是。 另外,我有100%的机会看到它,而不是像上面的某些评论那样偶尔出现。 就是说,我已经浏览了大多数解决方案,并没有找到解决方案。 您是否有特定版本的Gatsby,其中包含修复程序,所以我可以确保自己遇到的问题与众不同?

我愿意分享网址私下以及添加了contrib访问私有回购,如果从盖茨比团队有人想看看(DM我在Twitter的)。 感谢您提供的任何提示/建议-明确地说,我测试过的东西是:

  • 在gatsby-browser.js上添加服务人员重载
  • 删除离线插件
  • 更新所有节点模块
  • 确保不使用.引用导入

我们应该在最新的gatsby版本[email protected]修复此问题。 我们已经在gatsbyjs.org上运行了该错误,而错误却为我们消失了。

请升级,让我们知道是否还有更多麻烦! 现在关闭它。

@KyleAMathews谢谢-我确实做了,但是不幸的是,它没有解决问题,尽管我认为这是由于缺少资源错误而导致的,但是主要问题仍然存在,所以我提交了问题#15322

@KyleAMathews谢谢-我确实做了,但是不幸的是,它没有解决问题,尽管我认为这是由于缺少资源错误而导致的,但是主要问题仍然存在,所以我提交了问题#15322

我们不会收到丢失的资源,因为它已被删除并替换为其他错误: https :

我们最近部署了此修复程序,将检查错误日志中的新错误/不同错误。

编辑:是的,看起来this.loadPageDataJson(...).then(...).finally is not a function是新的missing resources

@jackhair您正在测试哪种浏览器? 我很确定我们添加了最后的polyfill。 可能是错的。

介意分享你的回购? 还是小复制品?

@jackhair您正在测试哪种浏览器? 我很确定我们添加了最后的polyfill。 可能是错的。

介意分享你的回购? 还是小复制品?

我们正在生产中的多个浏览器中看到了这一点:

Screen Shot 2019-07-02 at 13 29 03

您介意分享您的网站网址,以便我看看一下,也许可以调试一下吗?

您介意分享您的网站网址,以便我看看一下,也许可以调试一下吗?

当然! https://ritual.com

@jackhair我可以确认错误。 您能使用上面提供的信息来发布新刊物吗?

@wardpeet @jackhair我们也收到了这个finally polyfill问题,是否添加了新问题? 它可以引用这个吗?

@eknowles @wardpeet对不起,还没有时间为此写漏洞票。 如果您有空闲时间想创建​​一个,我也可以用自己的数据备份它。

@wardpeet @jackhair我设法找到了最后的

我们发现我们的依赖项之一是将babel-polyfill与useBuiltins:use而不是entry一起使用。

无论哪种方式,我们都必须降级redux-api-middleware(与gatbsy无关)。
https://github.com/agraboso/redux-api-middleware/compare/v2.3.0...v3.0.0

这解决了我们的finally错误。 我建议跟随堆栈跟踪链,并查看哪个lib是罪魁祸首,因为Promise polyfill可能会被覆盖,但讨厌的lib。

谢谢,我们之前在node_modules和babel-runtime中已经看到了这一点。 我必须重新考虑以后如何解决此问题,或者至少给出正确的错误消息。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

benstr picture benstr  ·  3评论

hobochild picture hobochild  ·  3评论

dustinhorton picture dustinhorton  ·  3评论

ghost picture ghost  ·  3评论

andykais picture andykais  ·  3评论