2016-10-03 58 views
0

我正在開發一個AngularJS項目。每次我更改代碼(html/css)並刷新頁面時,更改都不會反映出來。我已經有緩存:路由中爲false。順便說一句,我使用動態路線使用ui-routeroclazyload。要獲得更改,我必須使用chrome(F12)調用開發人員工具,並禁用緩存選項,然後進行刷新。有什麼我缺少像HTML版本化?在AngularJS中沒有反映的HTML更新

編輯

這裏是我的路線:

$stateProvider 
    .state('layout', { 
     url: '/:area', 
     cache: false, 
     templateUrl: function ($stateParams) { 
      return 'app/areas/' + $stateParams.area + '/_layout/index.html' 
     }, 
     resolve: { 
      load: function ($ocLazyLoad, $stateParams) { 
       return $ocLazyLoad.load({ 
        name: 'layout', 
        files: ['app/areas/' + $stateParams.area + '/_layout/controller.js'] 
       }); 
      } 
     } 
    }) 
    .state('layout.inner', { 
     url: '/:action', 
     cache: false, 
     templateUrl: function ($stateParams) { 
      return 'app/areas/' + $stateParams.area + '/' + $stateParams.action + '/index.html' 
     }, 
     parent: 'layout', 
     resolve: { 
      load: function ($ocLazyLoad, $stateParams) { 
       return $ocLazyLoad.load({ 
        name: 'layout.inner', 
        files: ['app/areas/' + $stateParams.area + '/' + $stateParams.action + '/controller.js', 
        ] 
       }); 
      } 
     } 
    }); 
+0

如果您在其他瀏覽器中打開頁面,會發生什麼情況?你看到變化嗎? – Terminus

+0

如果我之前已經打開過這個頁面,它不會讓人耳目一新,否則它正在按預期工作 –

回答

0

你不能因爲你的瀏覽器緩存舊的變化,以獲得最新的變化。

你說

要得到改變,我不得不調用開發工具中鉻(F12),以禁用緩存選項,然後執行刷新僅

禁用緩存選項將活動當開發工具是開放。只要您關閉開發工具,瀏覽器就會開始緩存它們。

所以,你要麼必須手動刪除緩存按Ctrl ++[R或右鍵點擊刷新按鈕,並選擇清空緩存並硬性重新加載(開發工具應該是開放的)。

對於chrome更簡單的解決方案,您可以使用Cache Killer擴展名。啓用時,每次頁面刷新時,都會刪除所有緩存。

+0

用戶呢?這些應用程序不時會得到某種提升,哪些用戶可能不知道,或者我們不希望每次訪問該網站時都清除所有用戶。 –

+0

因此,你需要設置適當的緩存標題,讓你的瀏覽器知道是否緩存頁面 –

+0

這將有助於..http://stackoverflow.com/questions/49547/making-sure-跨網頁不是緩存的跨瀏覽器。 –

相關問題