1

我试图避免缓存我的 Html 文件。我尝试过使用 rev 和 rev-replace。结果是仅更改了文件名,但未更改 stateprovider 中的文件引用,因此导致文件未找到错误。

这是我的 config.js 的一部分,它有 stateProvider:

$stateProvider .state('landingPage', { url: "/home", templateUrl: "views/landingPage/landingPage.html", })

这是我的 gulp 文件的一部分:

 gulp.task('copyHtml', ['copyAll','useRef'], function () {
return gulp.src('app/views/**/*.html')
.pipe(htmlmin({ collapseWhitespace: true, removeComments: true }))
.pipe(rev())
.pipe(revReplace())
.pipe(gulp.dest('dist/views'));
});

如何更改 config.js 中的文件引用?

内容不仅在移动设备上刷新(Android 上的 chrome)。我试图在 stateProvider 中手动更改 html 文件的名称,但它也不起作用。

我如何避免浏览器缓存???

谢谢

4

1 回答 1

0

浏览器将缓存,直到您更改模板的 URI。

一种解决方案是存储一个值,该值在项目的每个构建(gulp)中都会发生变化。

例如:

var build_id = $val_to_generate$;

现在在控制器中定义了使用的模板的 url:

$scope.urls = {
  template1: "http://adazdazkdaz/template1.html?v=" + build_id
}

现在在与控制器关联的模板中,使用:

 <div ng-include="urls.template1"></div>

这些页面将不再被缓存。

您也可以对 js 文件执行此操作

于 2016-05-18T14:05:30.177 回答