Javascript AngularJS依赖项:未在模块中加载常量/控制器等

Javascript AngularJS依赖项:未在模块中加载常量/控制器等,javascript,angularjs,dependency-injection,Javascript,Angularjs,Dependency Injection,我在寻找原因时偶然发现,定义良好的工厂没有加载。然后我想知道角度模块中定义的术语 如果我有这样的服务: angular.module('d3', ['underscore']) .factory('d3', ['$window', 'underscore', function($window, _) { if (!_.isObject($window.d3)) { throw "services.d3: moment

我在寻找原因时偶然发现,定义良好的工厂没有加载。然后我想知道角度模块中定义的术语

如果我有这样的服务:

angular.module('d3', ['underscore'])
       .factory('d3', ['$window', 'underscore',
       function($window, _) {
           if (!_.isObject($window.d3)) {
               throw "services.d3: moment library missing!";
           } else {
               return $window.d3;
          }
       }
   ]);
angular.module("widgets.D3Widget", ['underscore'])

.controller("widgets.D3Widget.D3WidgetCtrl", [
    "$scope",
    "d3",
    function(
        $scope,
        d3
    ) {
        console.log(d3.select('body'));
        //work goes here
    }
]);
当我尝试在这样的模块中加载此服务时:

angular.module('d3', ['underscore'])
       .factory('d3', ['$window', 'underscore',
       function($window, _) {
           if (!_.isObject($window.d3)) {
               throw "services.d3: moment library missing!";
           } else {
               return $window.d3;
          }
       }
   ]);
angular.module("widgets.D3Widget", ['underscore'])

.controller("widgets.D3Widget.D3WidgetCtrl", [
    "$scope",
    "d3",
    function(
        $scope,
        d3
    ) {
        console.log(d3.select('body'));
        //work goes here
    }
]);

服务未加载。我宁愿得到一个角度错误,比如:error:[$injector:unpr]未知提供者:d3Provider对不起,无法发表评论。在配置module widgets.D3Widget时,需要添加'd3'依赖项,如下所示

angular.modulewidgets.D3Widget,['d3'] 这是因为“d3”与您的“widgets.D3Widget”不在同一个模块下。

好的,所以如果我有一个模块的组件,并且我想在另一个模块中使用它,我需要将它添加到至少一个其他模块中,对吗?