在AngularJS之后加载jQuery(而不是之前)

tle*_*wis 8 performance mobile jquery angularjs

为了让angular.element指向jQuery而不是jQLite,需要在页面头部的Angular之前加载jQuery.

但是,出于性能原因(特别是在移动设备上),如果可以在加载AngularJS之后加载jQuery,那将是很好的.jQuery库相对较大,因此让"高于内容"依赖于jQuery lite并让jQuery在Angular之后异步加载,可以提高性能.

我认为如果Angular公开它的bindJquery函数并且它是JQLitePrototype对象,那将是可能的.

任何想法如何在不触及Angular核心的情况下做任何想法?

dfs*_*fsq 3

您可以在加载 jQuery 后手动扩展 JQLite 原型:

angular.extend(angular.element.prototype, jQuery.fn);
Run Code Online (Sandbox Code Playgroud)

然而,由于这不是 jQuery 与 Angular 的设计用法,因此可能会带来不必要的问题。但如果您的唯一目的是使用一些有用的 jQuery 方法扩展 angular.element,那么这应该没问题。

检查下面的演示,了解即使 jQuery 在 Angular 之后加载,jQuery 的方法仍然可用angular.element

演示:http://plnkr.co/edit/fo70VtmgBCQDU9RWGGVF? p=preview