我使用Flask
作为网络框架。我在服务工作者定义中定义了html
资源,如下所示
var urlsToPrefetch = [
'webapp/templates/practice/foopage.html',
];
这没关系。
使用Flask Blueprints
,foopage.html
会在用户访问https://example.com/practice/foopage
时呈现。 Blueprint
名称是“练习”。
相应的路线如下:
@practice.route('/foopage', methods=['GET'])
def foopage():
return render_template('practice/foopage.html')
问题是,在服务工作者的fetch
eventListener中,event.request.url
显示为https://example.com/practice/foopage
在缓存中找不到这个,因为我必须使用其实际路径定义html
文件。
有没有办法将文件名映射到应用程序中使用的路由?或者我需要以不同的方式考虑这个问题吗?
答案 0 :(得分:1)
您将模板的路径混淆,这是一个服务器端的事情,其中的网址被路由到视图。就客户端而言,/foopage
的响应是文档,在服务器端生成该文档的方式并不重要。
指定资源的网址/foopage
,作为要预取的内容。