【发布时间】:2018-09-13 14:18:33
【问题描述】:
我计划将 django 项目转换为 Progressive Web App。我无法弄清楚在我的 django 项目中将 service_worker.js 和 manifest.json 文件放在哪里。我尝试了以下方法:
我的项目/
|__app1
|__app2
|__manage.py
|__manifest.json
|__service_worker.js
然后尝试使用相对路径 ../../../service_worker.js 从 html 文件注册 service worker。那没有用。它显示此错误:“获取脚本时收到错误的 HTTP 响应代码 (404)。”
我尝试的另一种方法是将 service_worker.js 和 manifest.json 放在静态文件夹中:
我的项目/
|__app1/
|__static/
|__app1/
|__service_worker.js
|__manifest.json
|__app2
|__manage.py
并使用 {% static 'app1/service_worker.js' %} 访问那些。这种方法的问题是注册的 service_worker.js 的范围仅限于该静态文件夹。我在一个 stackoverflow 答案中看到,我可以将服务工作者的范围显式设置为 {scope: '/'}。但是,我认为我可能缺少更好的方法。如果有人对此有解决方案,请告诉我。
【问题讨论】:
-
这些只是普通的静态文件,您可以将它们放在其余静态文件所在的任何位置。
-
@DanielRoseman 我已经尝试过了,但是服务人员的范围仅限于该文件夹下的文件。我希望服务人员的范围涵盖项目中的所有应用程序。
-
你有答案吗?
-
@HemanthSP 我已经放弃了这个想法,并开始将我的网站构建为一个 Angular 应用程序。但是,看看这个答案stackoverflow.com/a/40087795/5157204
-
哈哈哈我也这么想
标签: django progressive-web-apps