programing

node http-server가 업데이트된 html 파일을 제공하지 않음

skycolor 2023. 9. 19. 20:57
반응형

node http-server가 업데이트된 html 파일을 제공하지 않음

저는 angular(주로 ui-router)가 있는 프론트엔드 웹앱을 구축하고 http-server 노드를 통해 html 파일을 서비스하여 로컬 개발을 하고 있습니다.업데이트를 할 때 http-server가 정적 html 파일을 제공하지 않아 로컬 개발에 어려움을 겪고 있습니다.

http-server가 전세계적으로 설치되어 있습니다.npm install http-server -g루트 프로젝트 폴더로 이동하여 실행함으로써 시작합니다.http-server. 기본값은 localhost:8080입니다. 작동하는 것처럼 보이는 두 가지 방법은 각 업데이트 후 포트 번호를 변경하거나 크롬 인코그니토 모드를 거치는 것입니다.

포트를 변경하거나 incognito 모드를 사용하지 않고 http-server를 정상적으로 사용할 수 있는 방법이 있습니까?

관련이 있는 경우 MBP v. 10.11.3을 사용하고 있습니다.

감사해요!

작동하는 것으로 보이는 두 가지 방법은 각각의 업데이트 후 포트 번호를 변경하거나 크롬 인코그니토 모드를 거치는 것입니다.

당신의 문제는 클라이언트측 캐싱입니다.Incognito 모드에는 일반 브라우징과는 독립적인 자체 데이터 디렉토리가 있습니다.

다행히 http-server는 캐시 제어 헤더를 설정할 수 있는 방법을 제공합니다.

-c캐시 제어 최대 사용 기간 헤더의 캐시 시간(초 단위)을 설정합니다.-c1010초 동안('3600'에 defaults).캐싱을 사용하지 않으려면 다음을 사용합니다.-c-1(그리고 가능하면)-p 8080서버가 해당 포트에 대한 캐시를 지우도록 강제합니다. 이후 실행 시 제거할 수 있습니다.

여기 설명서에 나와 있습니다: https://github.com/indexzero/http-server

HTTP 캐싱 지침에 대해서는 여기 https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en 에서 확인할 수 있습니다.

개발자 도구를 열고 Chrome의 Network(네트워크) 탭에서 "캐시 비활성화" 체크박스를 확인해 봅니다.

언급URL : https://stackoverflow.com/questions/38295463/node-http-server-not-serving-updated-html-files

반응형