I am working on a web application developed with Angular2 that needs to be fully functional offline. The browser that are to be supported are Google Chrome, Safari and Internet Explorer 11. To achieve this, I have looked into the possibility of using HTML5's Application Cache feature, but using it with an Angular application does not seem as straight forward as with simple web pages.
The answer to this question states that you could do it using service workers, but as far as I know, service workers are not compatible with every browser that I need to support.
Is there a way of doing it without using service workers, and in that case how? Or is there another way to cache the entire application so that it works in offline mode?