Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Flask Heroku应用程序成为渐进式Web应用程序(pwa)_Flask_Heroku_Progressive Web Apps - Fatal编程技术网

如何使Flask Heroku应用程序成为渐进式Web应用程序(pwa)

如何使Flask Heroku应用程序成为渐进式Web应用程序(pwa),flask,heroku,progressive-web-apps,Flask,Heroku,Progressive Web Apps,我用Flask和Heroku(gunicorn)部署了一个名为“Ognage”的简单web应用程序。它在生产环境中工作得非常好,我现在尝试将其作为一个渐进的Web应用程序运行。按照Heroku的说明,我创建了manifest.json和service workerfile(sw.js)。清单文件被我的浏览器识别,但不是服务人员,不幸的是我不明白为什么。。。 以下是我的项目结构: 下面是添加的代码: 在views.py中: @app.route('/sw.js') def sw():

我用Flask和Heroku(gunicorn)部署了一个名为“Ognage”的简单web应用程序。它在生产环境中工作得非常好,我现在尝试将其作为一个渐进的Web应用程序运行。按照Heroku的说明,我创建了manifest.json和service workerfile(sw.js)。清单文件被我的浏览器识别,但不是服务人员,不幸的是我不明白为什么。。。

以下是我的项目结构:

下面是添加的代码:

在views.py中:

@app.route('/sw.js')
def sw():
    return app.send_static_file('sw.js')

@app.route('/manifest.json')
def manifest():
    return app.send_static_file('manifest.json')

@app.route('/app/static/app.js')
def app_js():
    return app.send_static_file('app.js')
console.log('Hello from sw.js');

importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js');

if (workbox) {
  console.log("Yay! Workbox is loaded You also need to send the manifest.json file

@app.route('/manifest.json')
def manifest():
    return app.send_from_directory('static', 'manifest.json')
在sw.js中:

@app.route('/sw.js')
def sw():
    return app.send_static_file('sw.js')

@app.route('/manifest.json')
def manifest():
    return app.send_static_file('manifest.json')

@app.route('/app/static/app.js')
def app_js():
    return app.send_static_file('app.js')
console.log('Hello from sw.js');

importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js');

if (workbox) {
  console.log("Yay! Workbox is loaded You also need to send the manifest.json file

@app.route('/manifest.json')
def manifest():
    return app.send_from_directory('static', 'manifest.json')
console.log('Hello from sw.js');
进口文件('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js');
if(工作箱){

log(“Yay!Workbox已加载您还需要发送manifest.json文件


如果您想要一个完整的示例,我以前创建过一个Flask PWA。这是存储库:

我在更改views.py中的@app routes和app.js中转到sw.js的相对路径后解决了这个问题(cf代码已更新) 现在,我的服务人员正在工作:

非常感谢您的快速回答和分享您的git。我已经在我的浏览器(Firefox)中更新了@approute of manifest.json,清单配置没问题。但服务人员仍然无法识别。(更新帖子中的cf错误消息捕获)。我的结构与你在聊天机器人应用程序中的结构相似,文件的内容也与你类似。我想不出什么…你能在回答中添加正确的代码吗?