Service Worker 使用 Flask Blueprints 缓存资源
Service Worker caching resources with Flask Blueprints
我正在使用 Flask
作为网络框架。我在我的 service worker 定义中定义了一个 html
资源,如下所示
var urlsToPrefetch = [
'webapp/templates/practice/foopage.html',
];
这工作正常。
使用 Flask Blueprints
,foopage.html
在用户访问 https://example.com/practice/foopage
时呈现给他们。 Blueprint
名称是 "practice"。
对应路线如下:
@practice.route('/foopage', methods=['GET'])
def foopage():
return render_template('practice/foopage.html')
问题是在 service worker 的 fetch
eventListener 中将 event.request.url
显示为 https://example.com/practice/foopage
这在缓存中找不到,因为我必须使用其实际路径定义 html
文件。
有没有办法将文件名映射到应用程序中使用的路由?或者我需要换个角度思考这个问题吗?
您混淆了模板的路径,这是服务器端的事情,urls 被路由到视图。就客户端而言,来自 /foopage
的响应就是文档,而该文档是如何在服务器端生成的并不重要。
将 url 指定为资源 /foopage
作为要预取的内容。
我正在使用 Flask
作为网络框架。我在我的 service worker 定义中定义了一个 html
资源,如下所示
var urlsToPrefetch = [
'webapp/templates/practice/foopage.html',
];
这工作正常。
使用 Flask Blueprints
,foopage.html
在用户访问 https://example.com/practice/foopage
时呈现给他们。 Blueprint
名称是 "practice"。
对应路线如下:
@practice.route('/foopage', methods=['GET'])
def foopage():
return render_template('practice/foopage.html')
问题是在 service worker 的 fetch
eventListener 中将 event.request.url
显示为 https://example.com/practice/foopage
这在缓存中找不到,因为我必须使用其实际路径定义 html
文件。
有没有办法将文件名映射到应用程序中使用的路由?或者我需要换个角度思考这个问题吗?
您混淆了模板的路径,这是服务器端的事情,urls 被路由到视图。就客户端而言,来自 /foopage
的响应就是文档,而该文档是如何在服务器端生成的并不重要。
将 url 指定为资源 /foopage
作为要预取的内容。