服务工作者使用Flask蓝图缓存资源

时间:2016-03-03 21:42:35

标签: flask service-worker

我使用Flask作为网络框架。我在服务工作者定义中定义了html资源,如下所示

var urlsToPrefetch = [
    'webapp/templates/practice/foopage.html',
];

这没关系。

使用Flask Blueprintsfoopage.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文件。

有没有办法将文件名映射到应用程序中使用的路由?或者我需要以不同的方式考虑这个问题吗?

1 个答案:

答案 0 :(得分:1)

您将模板的路径混淆,这是一个服务器端的事情,其中​​的网址被路由到视图。就客户端而言,/foopage的响应是文档,在服务器端生成该文档的方式并不重要。

指定资源的网址/foopage,作为要预取的内容。