是否可以使用Flask构建PWA?更具体地说,是否可以使用Flask模板渲染注册服务工作者?如果是这样,有人可以提供一些有关如何去做或指向某些资源的信息吗?因为我找不到任何东西.谢谢.
我正在使用 Python 的微框架 Flask 创建一个网站。我最近发现了渐进式网络应用程序,并且正在尝试尝试它。据我了解,我必须(除其他外)注册一名服务人员。这就是我所坚持的。我正在使用一个 base.html 模板,该模板扩展到由 Flask 渲染的其他 .html 模板。在我的 base.html 文件中,我包含了以下代码:
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register("service-worker.js").then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我知道这行不通,因为 service-worker.js 文件需要与 html 文件位于同一目录中,但因为它们是由 Flask 渲染的,所以我不知道需要将其放置在哪个目录中service-worker.js 文件使其正常工作。我尝试将其放在模板所在的同一目录中以及根文件夹中(然后在注册脚本中指向该位置),但这不起作用。
Python 文件位于网站根文件夹中。包含 html 文件的模板文件夹也位于根文件夹中 - 以及包含 css/js/images 的静态文件夹。
所以我的问题是,是否可以使用 Flask 作为后端来注册 Service Worker(或创建 PWA)?如果是这样,我该如何注册?先感谢您!
编辑:
我不确定为什么我的问题被标记为重复。我不想从我的 /static/js 文件夹中为服务工作者提供服务。正如我上面所说,据我了解,service-worker.js 文件需要位于与其引用的 html …