【问题标题】:Angular fails to load one of my modulesAngular 无法加载我的模块之一
【发布时间】:2016-06-07 15:57:45
【问题描述】:

我在一个文件中有以下角度模块:

angular.module('swagger', [])
.factory('swaggerApi', function () {
    return new Swagger({
        url: 'http://localhost:8081/api-docs',
        usePromise: true
    });
});

之后在另一个文件中我尝试如下使用这个模块,其中'swagger'是模块名称:

angular.module('GlobalFactoryMethodes', ['swagger'])

在我的 html 文件中,我首先加载“swagger”模块,然后加载“GlobalFactoryMethodes”。但是我收到以下错误消息:

Error: [$injector:modulerr] Failed to instantiate module swagger due to:

错误:[$injector:nomod] 模块 'swagger' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我是 Angular 的新手,我认为这就是模块的工作方式,我是不是做错了什么?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    试试这个:

    angular.module('swagger', []);
    
    angular.module('swagger')
       .factory('swaggerApi', function () {
           return new Swagger({
             url: 'http://localhost:8081/api-docs',
             usePromise: true
           });
       });
    

    现在添加您的新模块:

    angular.module('GlobalFactoryMethodes', ['swagger'])

    【讨论】:

      【解决方案2】:

      最好在一个文件中声明所有模块依赖项,首先加载:

      index.js:

      angular.module('swagger', []);
      angular.module('GlobalFactoryMethodes', ['swagger']);
      

      然后用提供者扩展每个:

      swagger.js:

      angular.module('swagger')
        .factory('swaggerApi', swaggerApi);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-11
        • 2016-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        相关资源
        最近更新 更多