Webpacked Angular应用程序无法加载IIFE内部定义的外部模块

时间:2015-12-04 21:50:23

标签: javascript angularjs scope webpack iife

我正在使用传统的Angular代码库(v1.2),尝试将Webpack实现为前端构建系统,并且我遇到了一个外部依赖的奇怪问题。由于各种原因,我无法触及依赖项或使用Webpack加载它。当我的软件包加载时,它已经在脚本标记中加载到页面上,我也无法改变它。问题与模块定义的这种方法有关:

(function(){

  var appServices = angular.module('appServices', []);

  appServices.factory('fooService', function(){...});

});

当我尝试通过以下方式在我的Webpacked模块中使用此服务时:

var app = angular.module('ApplicationModule', ['appServices']);

我收到的错误是:

Error: [$injector:unpr] Unknown provider: appServicesProvider <- appServices <- ApplicationModule

我认为问题是与使用IIFE和var声明相关的范围问题,但我不确定究竟发生了什么,或者如何在我的模块中访问该模块Webpacked代码。我认为问题在于IIFE中声明的模块的本地范围,但是appServices在其余的Angular代码中运行良好,它使用与我的Webpacked模块相同的语法,但是通过脚本标签加载。任何有关这里究竟发生了什么的见解,以及我如何成功加载这种依赖关系都将不胜感激。

0 个答案:

没有答案