我正在开发一个AngularJS项目。每次我更改代码(html / css)并刷新页面时,更改都没有反映出来。我已经在路由中使用了cache:false。顺便说一下,我使用ui-router
和oclazyload
使用动态路线。为了获得更改,我不得不使用chrome(F12)调用开发人员工具,使用disable cache选项然后进行刷新。我有什么遗漏,比如版本化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 :(得分:0)
您无法获得最新更改,因为您的浏览器正在缓存旧的更改。
你说
要获得更改,我必须使用chrome(F12)调用开发人员工具,使用禁用缓存选项,然后执行刷新
当开发工具打开时,禁用缓存选项仅 活动。一旦你关闭开发工具,浏览器就会再次开始缓存它们。
因此,您必须手动删除缓存 Ctrl + Shift + R 或右键单击刷新按钮并选择空缓存和硬重新加载(应该打开开发工具)。
有关 chrome 的更简单解决方案,您可以使用Cache Killer扩展名。启用后,每次刷新页面时都会删除所有缓存。