我正在为 Umbraco 7 创建一个自定义属性编辑器。controller.js 中有一个拼写错误,尽管我做了一些清除缓存的工作,但 croken 代码仍然出现在缓存的依赖项处理程序中,到目前为止我已经尝试过:
- 在 IIS 中重新启动应用程序
- 重新发布 Umbraco 站点更改
- 清除浏览器缓存
- 在 web.config 中将 Debug="false"更改为 Debug="true"- 这在调试时有效但去了 当我将其恢复为 false 时恢复为损坏的缓存版本。
- 修改 ClientDependancy.config 以从 fileDependencyExtensions 中排除 .js - 这在 .js 被排除时同样有效,但当我再次添加它时又回到损坏的代码。
- 从属性编辑器 list 中删除对 Controller 的引用。 - 这允许页面再次加载,但显然属性编辑器没有 Controller 。
- 已删除数据类型和所有引用,重新启动应用程序并重新创建它。
必须有一个简单的方法来做到这一点。有什么建议吗?
最佳答案
Umbraco 使用 ClientDependency framework缓存后台 Assets 。 CDF 的工作原理是根据 ~/Config/ClientDependency.config
文件中的版本号进行缓存。一旦您更改版本号(只需将其提高或降低 1),就会重新生成缓存,并且自动添加到所有后台 Assets 的查询字符串也会发生变化。
这也应该清除浏览器缓存,但某些浏览器(尤其是 Chrome)在缓存 Assets 方面非常积极,因此在极少数情况下,也有必要清除浏览器缓存。
关于caching - Umbraco 不会从缓存中清除损坏的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169548/