2017-05-12 6 views
0

사이트 용 PWA를 개발하려고합니다. 프로덕션 및 스테이징에서 우리는 하나의 도메인에서 모든 것을 제공합니다. 그러나, 로컬 시스템 개발에 우리는 장고 서버 예를 들어서비스 작업자가 로컬 컴퓨터의 다른 포트에서 서비스를 제공합니다.

http://localhost:8000

를 사용하여 하나 개의 포트에서 HTML을 봉사하고 다른 포트에서 그런트 서버를 사용하여 (JS 포함) 자산 :

http://localhost:8001

문제는 서비스 근로자의 범위가 쓸모없는 자산에만 국한되므로 8000 포트 원점의 오프라인 캐시 페이지에 저장하려고합니다.

나는 다소 장고에서 사용자 지정보기로 서비스 노동자를 제공함으로써이 문제를 해결 갈 수 있었다 :

# urls.py 

url(r'^(?P<scope>.*)sw\.js', service_worker_handler) 

# views.py 

def service_worker_handler(request, scope='/'): 
    return HttpResponse(render_to_string('assets/sw.js', { 
     'scope': scope, 
    }), content_type="application/x-javascript") 

그러나, 나는이 좋은 해결책이라고 생각하지 않습니다. 이 코드는 생산에 전혀 필요하지 않은 사용자 지정 라우팅 규칙을 설정합니다.

내가 찾고있는 것은 프록시를 사용하는 로컬 픽스이거나 다른 모든 애셋과 같이 서비스 작업자에게 서비스를 제공 할 수있는 다른 것입니다.

https://googlechrome.github.io/samples/service-worker/foreign-fetch/는 기본적 포트 8001에 서비스 노동자를 호스팅하고 예와 같이 서버가 처리 :

답변