我几乎遇到了这个错误: AngularJS ngSanitize Error
简短版本:“小写字母不是函数”。
虽然我的应用程序将 AngularJS 强制执行为 1.4.9,但我们没有强制执行 angular-sanitize,因此它解析为 1.7.0,并且在该版本的 AngularJS 上,小写函数不再存在,从而产生错误。
可能通过将 angular-sanitize 强制为固定版本可以解决此问题,但我想超越修复它并了解导致问题的原因以及原因,因为我发现了一些不一致之处。
AngularJS 被强制到 1.4.9。bower-components 文件夹包含此版本,编译后的 build 文件夹也包含此版本,Chrome 上的开发人员面板显示仅获取此版本。这个版本确实有小写的方法。
Angular-sanitize 有 angular 1.7.0 作为依赖项,但它从未下载过,永远不会。不在整个项目的任何单个文件夹或子文件夹中,不在编译时,也不在 Chrome 中。所以我猜他唯一可以访问的angular.js是 1.4.9,它确实有小写的方法。
如果唯一可用的angular.js仍然具有该方法,我不太明白为什么会出现“小写不是函数”错误。另外我不明白为什么 angular-sanitize 1.7.0 要求 angular 1.7.0 在 AngularJS 1.7.0 上使用不存在的方法(Angular 开发人员错误?但我很难相信。)
sanitize 可能正在以某种方式下载和访问 angular 1.7.0,但我想知道如何。只是出于好奇。并且还要确认这是否是 Angular 开发人员的错误,或者我是否遗漏了一些东西。