1.緩存
瀏覽器為了更快速的加載項目文件,一般都會用到緩存。為了增加用戶的體驗,獲取資源的時候總是先獲取緩存的內容,如果緩存沒有,我們才會去服務器上獲取資源,例如一些圖片、文件等。通常只會加載一遍,等再次訪問的時候就會從緩存中獲取了。作為開發人員,我們最不希望緩存的出現,因為我們需要實時的調整我們的代碼,為了更快的實現當前的邏輯。
2.避免緩存
現在的angular-cli 對於這一點做了相對應的操作。
當我們部署完成代碼后,打開瀏覽器,這時候我們獲得的資源並不是我們的最新資源時,我們一般需要ctr+F5 強制刷新,清掉緩存,才能獲取最新的資源。
如果客戶不知道去清楚緩存怎么辦?或者說 ,客戶打開了網站,我們在這中間又提交和部署了新的版本,去解決了一些問題,那么客戶如果不清除緩存,那么在網頁上可能還存在我們已經解決過的問題。這個時候怎么辦?
下面是我的解決辦法:我們打包的時候運行命令 ng build --output-hashing all 這個時候打包的文件都是帶有hash值。文件名屬於唯一的,和緩存的不一樣,所以會去服務器獲取最新的資源。
這個情況也存在問題:如果用戶不清空當前的文件夾,一直向服務器提交文件,會造成編譯的垃圾文件過多的問題。所以建議清空當前的文件夾,之后在提交文件。
當然,在生產環境有嚴謹的配置的情況下,一般都會運行:ng build --prod 這個命令。
如果不想生成.map 文件,則會執行 ng build --output-hashing all --sourcemaps false
以上謹以此作為個人觀點,不涉及其他。希望對大家有所幫助。