如何使Flask Heroku应用程序成为渐进式Web应用程序(pwa)
我用Flask和Heroku(gunicorn)部署了一个名为“Ognage”的简单web应用程序。它在生产环境中工作得非常好,我现在尝试将其作为一个渐进的Web应用程序运行。按照Heroku的说明,我创建了manifest.json和service workerfile(sw.js)。清单文件被我的浏览器识别,但不是服务人员,不幸的是我不明白为什么。。。 以下是我的项目结构: 下面是添加的代码: 在views.py中:如何使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():
@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错误消息捕获)。我的结构与你在聊天机器人应用程序中的结构相似,文件的内容也与你类似。我想不出什么…你能在回答中添加正确的代码吗?