我正在使用grails 资源插件。在客户端我使用require.js来获取 js。
我的 require.js 配置 -
baseUrl: '/js/lib',
启用资源插件 -
- 浏览器会请求/js/lib/abc.js浪费〜300ms
- 到达服务器后,它将被重定向到 /static/2432yi4h32kh4232h4k2h34ll.js
- 浏览器将在其缓存中找到该文件并提供服务。
所以我禁用了缓存资源插件使用 -
grails.resources.mappers.hashandcache.excludes = ['**/*.js']
和新的 require.js 配置 -
baseUrl: '/static/js/lib',
urlArgs: "bust=" + application_version,
移除缓存资源解决了重定向问题,但也删除了为 js 文件设置的 expires 标头,导致浏览器根本不缓存 js 文件。
我怎样才能只禁用缓存资源中的名称散列并保留它设置的过期标头。否则,是否有任何 Grails 插件可以用来设置这些标头,并且它们与 Resources 插件配合得很好。
我正在使用Tomcat和Haproxy来提供内容。