我正在使用传统的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模块相同的语法,但是通过脚本标签加载。任何有关这里究竟发生了什么的见解,以及我如何成功加载这种依赖关系都将不胜感激。