page.data.json 404 未找到 & componentDidMount() 未在生产中触发



我有一个gatsbyjs站点,并且正在遇到一个无法找到任何页面数据文件的问题,也不是componentDidmount((firating。这仅在生产中发生,它在本地既有良好,又有完整的构建和gatsby develop

复制步骤

这是我为此创建的演示页面:https://gwhitworth-dev.azurewebsites.net/blog/2019/06/demo/

注意事项

  • 有一个错误指出:Failed to load resource: the server responded with a status of 404 (Not Found) https://gwhitworth-dev.azurewebsites.net/page-data/blog/2019/06/demo/page-data.json
  • componentDidMount()在本地的生产中没有发射,因此我认为这是问题的,但不知道它是否与page-data.json

预期结果

图表应在生产中呈现,因为它在本地

实际结果

如果您打开上方的链接,您会发现尽管在本地呈现确实没有highchart渲染。

事先感谢您的帮助。

因此,这里的问题是,盖茨比期望JSON含量将带有MIME类型的application/json

const isJson = contentType && contentType.startsWith(`application/json`) 

我的服务器没有配置为执行此操作,因此它以text/html的MIMETYPE发送JSON文件,这导致页面数据未加载,因此页面中的组件未呈现。为了解决此问题,我将其添加到web.config文件(我在Azure上,我知道这不会是通用(:

<staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>

最新更新