Flask 使用烧瓶和蟒蛇将路线发送给服务人员

Flask 使用烧瓶和蟒蛇将路线发送给服务人员,flask,service-worker,pythonanywhere,Flask,Service Worker,Pythonanywhere,我对烧瓶和构建我的第一个web应用程序还不熟悉。我的服务人员在从localhost运行时注册良好,但在我将应用部署到pythonywhere时注册良好。要构建此功能,请遵循上的流程。以下是我得到的: 我的sw.js文件位于静态文件夹中 我有一个服务于service worker js文件的路径: @app.route('/sw.js') def sw(): 返回app.send\u静态\u文件('sw.js') 在我的PythonyWhere“Web”页面上,我有一个名为/Static/的静

我对烧瓶和构建我的第一个web应用程序还不熟悉。我的服务人员在从localhost运行时注册良好,但在我将应用部署到pythonywhere时注册良好。要构建此功能,请遵循上的流程。以下是我得到的:

  • 我的sw.js文件位于静态文件夹中

  • 我有一个服务于service worker js文件的路径:

    @app.route('/sw.js') def sw(): 返回app.send\u静态\u文件('sw.js')

  • 在我的PythonyWhere“Web”页面上,我有一个名为/Static/的静态文件路径,指向静态文件夹

  • My app.js文件正在使用以下方式注册服务工作者:

    navigator.serviceWorker.register('./sw.js')

  • 加载我的web应用程序时,我的控制台返回以下两个错误:

    获取脚本时收到错误的HTTP响应代码(404)

    无法注册服务工作人员。TypeError:未能为作用域('s)注册ServiceWorkerhttps://xxxxx.pythonanywhere.com/“)和脚本('https://xxxxx.pythonanywhere.com/sw.js“):获取脚本时收到错误的HTTP响应代码(404)

    我很确定我的问题出在Flask路由上,因为我在试图从浏览器指向xxxxx.pythonanywhere.com/sw.js时遇到了相同的404错误。我一直在努力纠正这个错误


    感谢您的输入。

    如果您尝试访问
    https://xxxxx.pythonanywhere.com/sw.js
    从浏览器中,则这不是您的烧瓶路线,而是您的静态路线。如果您的静态文件映射的“URL”设置为
    /static
    ,则它将只拾取以
    开头的请求https://xxxxx.pythonanywhere.com/static

    如果您想专门为文件
    sw.js
    设置静态路由,并且希望从
    https://xxxxx.pythonanywhere.com/sw.js
    ,则需要设置静态文件映射,其中“URL”为
    /sw.js
    ,并且“目录”设置为文件的完整路径,例如
    /home/xxxxx/mysite/static/sw.js


    查看更多详细信息。

    太好了!很乐意帮忙:-)