在 GCP 上部署 React 静态网站问题(找不到 main.js 或 main.css)

React Static Website Problem Deploying on GCP (can't find main.js or main.css)

我遵循了本教程:https://cloud.google.com/storage/docs/hosting-static-website 来托管我的 React 网络应用程序。这是我目前所拥有的:

// app.yaml
runtime: nodejs10

handlers:
  - url: /static
    static_dir: build/static

  - url: /(.*\.(json|ico|js))$
    static_files: build/
    upload: build/.*\.(json|ico|js)$
    
  - url: /.*
    static_files: build/index.html
    upload: build/index.html

(我在这里尝试了很多配置)

I 运行 npm run build 并将构建目录与 app.yaml 一起放入 GCP 云存储中。当我访问我的网站时,我得到了这个:

当我点击根 url 时会发生这种情况。

看起来它正在查看 static 目录,根据我的 app.yaml.

然后应该查看 build/static

如果我直接进入 https://www.drinkingbuddy.io/build/static/js/main.39aaab31.js 等网页,浏览器会按预期显示文件。所以它在那里被托管但是有些东西被路径弄乱了?我不确定。

本地测试,一切正常。即使在提供构建文件时也是如此。

任何指导将不胜感激!谢谢。

编辑:

另一件事是,当我去基地url时,它只显示文档树。

编辑 2: 当直接从存储桶访问文件时,例如 https://www.storage.googleapis.com/drinkingbuddy-static/build/index.html,然后出现此错误:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>UserProjectAccountProblem</Code>
<Message>User project billing account not in good standing.</Message>
<Details>The billing account for the owning project is disabled in state absent</Details>
</Error>

但是查看我的帐户我没有发现任何结算问题。

编辑 3:

现在我可以访问 .../build/index.html 并显示我的网站。但是根 / 仍然抛出错误,说找不到 main.js。我将 homepage: "." 添加到我的 package.json.

我可以通过 homepage:"/build" 让它工作。现在我可以访问根 url 并获得预期的行为。