2017-09-23 6 views
1

플라스크를 사용하여 PWA를 빌드 할 수 있습니까? 보다 구체적으로, Flask 템플릿 렌더링을 사용하여 서비스 작업자를 등록 할 수 있습니까? 그렇다면 누구나 그 정보를 전달하거나 자원을 가리킬 수있는 방법에 대한 정보를 줄 수 있습니까? 나는 아무것도 찾을 수 없었기 때문에. 고맙습니다.파이썬 플라스크를 사용한 점진적 웹 앱 구축

답변

1

앱 구조

app 
    static 
     css 
      page.css 
     js 
      app.js 
     sw.js 

    templates 
     index.html 

    app.py 

app.py

from flask import Flask, render_template, url_for 

app = Flask(__name__) 

@app.route('/', methods=['GET']) 
def index(): 
    return render_template('index.html') 

@app.route('/sw.js', methods=['GET']) 
def sw(): 
    return app.send_static_file('sw.js') 

if __name__=='__main__': 
    app.run(debug=True) 

index.html을이 도움이

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <link rel="stylesheet" type="text/css" href="../static/css/page.css"> 
</head> 
<body> 
    <h1>Hello World!</h1> 
</body> 
    <script type="text/javascript" src="../static/js/app.js"></script> 
    <script type="text/javascript"> 
     if ('serviceWorker' in navigator) { 
      window.addEventListener('load', function() { 
       navigator.serviceWorker.register("../sw.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> 
</html> 

희망.