app.yaml 在 App Engine 上部署静态网站时出现问题,图像不会显示
Issue with app.yaml to deploy static website on App Engine, images won't display
我正在尝试在 Google App Engine 上部署我的 Web 应用程序。
我的项目遵循这种结构
app.yaml
有这个内容:
runtime: nodejs14
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files:
upload: (.*)
但是,当我执行 gcloud app deploy --project=MY PROJECT
并打开我的站点时,它看起来像这样:
我假设 app.yaml 文件中有错误,但我不明白是什么。有什么想法吗?
将您的第二个 URL 处理程序更新为:
- url: /(.*\.(svg|png))$
static_files: www/images/
upload: www/images/.*\.(svg|png)$
然后像这样引用您的 img src:
<img src="/test.png" alt="oops" width="104" height="142">
要补充一点,您也可以使用 static_dir
作为您的第二个 URL 处理程序。这样可以更轻松地按目录组织静态文件。将您的 app.yaml 更改为:
runtime: nodejs14
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /static-img
static_dir: www/images
在该示例中,发生的情况是位于 www/images
的图像映射到从 /static-img
开始的 URLs。您可以使用 URL 在 HTML 中引用您的 img src。例如:
<img src="/static-img/test.png" alt="oops" width="104" height="142">
了解更多信息:https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#handlers_static_dir
我正在尝试在 Google App Engine 上部署我的 Web 应用程序。 我的项目遵循这种结构
app.yaml
有这个内容:
runtime: nodejs14
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files:
upload: (.*)
但是,当我执行 gcloud app deploy --project=MY PROJECT
并打开我的站点时,它看起来像这样:
我假设 app.yaml 文件中有错误,但我不明白是什么。有什么想法吗?
将您的第二个 URL 处理程序更新为:
- url: /(.*\.(svg|png))$
static_files: www/images/
upload: www/images/.*\.(svg|png)$
然后像这样引用您的 img src:
<img src="/test.png" alt="oops" width="104" height="142">
要补充一点,您也可以使用 static_dir
作为您的第二个 URL 处理程序。这样可以更轻松地按目录组织静态文件。将您的 app.yaml 更改为:
runtime: nodejs14
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /static-img
static_dir: www/images
在该示例中,发生的情况是位于 www/images
的图像映射到从 /static-img
开始的 URLs。您可以使用 URL 在 HTML 中引用您的 img src。例如:
<img src="/static-img/test.png" alt="oops" width="104" height="142">
了解更多信息:https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#handlers_static_dir