在我的webpack-es6-angularjs应用程序中,我遇到一个需要帮助的问题:当尝试加载第3方库时,第3方库会引发错误,即使jQuery是通过webpack公开。
//webpack.config.js
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
第三方库通过!$window.jQuery.support...
使用jQuery,但是$window.jQuery
不存在–请注意angularjs的额外$
–其中window.jQuery
存在于Webpack中,如预期的那样配置。
monkey-patching 3rd-party库可以工作,但是当然没有解决方案。知道这可能来自哪里以及如何解决吗?
答案 0 :(得分:0)
好的,所以我能够通过将jQuery显式注入angularjs $ window对象来解决它:
import * as jquery from 'jquery';
import { IWindowService } from 'angular';
function jQueryService($window: IWindowService): any {
$window['jQuery'] = jQuery;
return jquery;
};
jQueryService.$inject = ['$window'];
export default jQueryService;