티스토리 뷰
반응형
Author: 주니용
웹 프로젝트에서 /resource/static에 들어가는 파일의 대부분은 캐시의 영향을 받습니다.
배포를 하더라도 기존의 캐시가 적용되면 캐시 삭제를 하지 않는 이상 변경되지 않습니다.
대개 *.js 파일이나 *.css 파일이 많이 수정이 되는 경우 이슈가 생겨 배포를 하더라도 클라이언트가 캐시 삭제를 하지 않는 이상 보통은 기존의 파일을 가지고 있게 됩니다.
따라서, 이를 해결하기 위한 Thymeleaf만의 꿀팁이 있습니다.
먼저 Controller의 Model에서 아무 키값에 System.currentTimemillis()를 넣어줍니다.
@Controller @RequestMapping("/test") public class TestController {
@RequestMapping("/index") public String index(Model model) { model.addAttribute("ts", System.currentTimeMillis()); return "/index.html"; }
} |
다음으로 index.html로 가서 script에 다음과 같이 추가합니다.
기존에는 이와 같이 되어 있을 것입니다.
<script src="/js/util.js"></script> |
이를 아래와 같이 변경해줍니다.
<script th:attr="src='/js/util.js'+${ts}"></script> |
이렇게 적용하면 현재 timestamp의 값을 util.js의 파라미터로 인식하여 배포를 하더라도 현재 적용된 .js를 바라보게 됩니다. css의 경우도 마찬가지로 적용하면 됩니다.
반응형
'Client' 카테고리의 다른 글
[React.js] 간단한 시계 만들기 (1) (0) | 2020.03.18 |
---|---|
[React.js] React를 시작하기에 앞서 (0) | 2020.03.10 |
[React.js] React 설치법 (0) | 2020.03.10 |
[TypeScript] BlockChain 만들기 (10) (0) | 2020.01.05 |
[TypeScript] BlockChain 만들기 (9) (0) | 2020.01.05 |
[TypeScript] BlockChain 만들기 (8) (0) | 2020.01.05 |
댓글
공지사항