【问题标题】:How to cache a react page with static assets using Python?如何使用 Python 缓存带有静态资产的反应页面?
【发布时间】:2021-12-13 22:28:42
【问题描述】:

我创建了一个烧瓶应用程序,它向https://create-react-app-example.vercel.app 发出 GET 请求并缓存反应页面。 然后从缓存中提供 HTML 页面。

Flask 应用:

from flask import Flask
import requests_cache

app = Flask(__name__)
session = requests_cache.CachedSession('react_page')

@app.route("/")
def serve_react_page():    
    return session.get('https://create-react-app-example.vercel.app').text

if __name__ == '__main__':
  app.run(host='0.0.0.0', port=5000)

Flask 应用依赖:

Flask==1.1.2
requests-cache==0.8.1

我无法缓存静态文件夹中的内容。

dineshsonachalam@macbook % python3 proxy.py
 * Serving Flask app "proxy" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /static/css/main.5f361e03.chunk.css HTTP/1.1" 404 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /static/js/2.087e98bc.chunk.js HTTP/1.1" 404 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /static/js/main.26bec6bc.chunk.js HTTP/1.1" 404 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /static/js/2.087e98bc.chunk.js HTTP/1.1" 404 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /static/js/main.26bec6bc.chunk.js HTTP/1.1" 404 -
127.0.0.1 - - [28/Oct/2021 23:09:40] "GET /manifest.json HTTP/1.1" 404 -

React 构建将包含用于存储 CSS、js 和图像的静态文件夹。

dineshsonachalam@macbook ui % tree build 
build
├── asset-manifest.json
├── favicon.ico
├── index.html
├── logo192.png
├── logo512.png
├── manifest.json
├── robots.txt
└── static
    ├── css
    │   ├── main.a617e044.chunk.css
    │   └── main.a617e044.chunk.css.map
    └── js
        ├── 2.d4015c87.chunk.js
        ├── 2.d4015c87.chunk.js.LICENSE.txt
        ├── 2.d4015c87.chunk.js.map
        ├── 3.b4494d53.chunk.js
        ├── 3.b4494d53.chunk.js.map
        ├── main.3dbeb9be.chunk.js
        ├── main.3dbeb9be.chunk.js.map
        ├── runtime-main.5d34aaab.js
        └── runtime-main.5d34aaab.js.map

3 directories, 18 files

有没有办法缓存静态文件夹中的内容。

【问题讨论】:

    标签: python reactjs flask caching


    【解决方案1】:

    serve_react_page 此处返回用户导航到该页面时将看到的内容。其中包括指向/static 中文件的链接。

    该页面包含指向静态资产的链接,当它查找它们时,它会向 您的 服务器询问实际在哪里,例如 https://create-react-app-example.vercel.app/static/css/main.5f361e03.chunk.css

    但是浏览器想在http://0.0.0.0:5000/static/css/main.5f361e03.chunk.css 找到它,这当然不存在。

    您可以尝试在您的烧瓶应用程序中设置一个路由,任何对/static 的请求都会从https://create-react-app-example.vercel.app 下载文件并将其缓存到客户端。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 1970-01-01
      • 2023-03-26
      • 2015-08-19
      • 2012-03-02
      • 2020-08-05
      • 2018-05-19
      • 2012-09-02
      • 2019-09-21
      相关资源
      最近更新 更多