Javascript $injector:moduler未能实例化模块

Javascript $injector:moduler未能实例化模块,javascript,angularjs,dependency-injection,Javascript,Angularjs,Dependency Injection,我是AngularJS的新手,我面临着这个例外 angular.js:68未捕获错误:[$injector:modulerr]未能捕获 实例化模块MovieRama的原因:错误:[$injector:modulerr] 无法实例化模块MovieRama.services,原因是:错误: [$injector:nomod]模块“MovieRama.services”不可用!你 模块名称拼写错误或忘记加载。如果注册 模块确保将依赖项指定为第二个 争论 我的代码是: var app = angular

我是AngularJS的新手,我面临着这个例外

angular.js:68未捕获错误:[$injector:modulerr]未能捕获 实例化模块MovieRama的原因:错误:[$injector:modulerr] 无法实例化模块MovieRama.services,原因是:错误: [$injector:nomod]模块“MovieRama.services”不可用!你 模块名称拼写错误或忘记加载。如果注册 模块确保将依赖项指定为第二个 争论

我的代码是:

var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {

    var rtAPI = {};

    rtAPI.getMovies = function() {
        return $http({
            method: 'JSONP',
               url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?     page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
        });
    }

    return rtAPI;
});

app.factory('rtAPIserviceall', function($http) {
    var rtAPIall = {};

    rtAPIall.getMoviesall = function () {
        return $http({
            method: 'JSONP',
               url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
            params: {
                page_limit: '10',
               page:'1',
               q: $scope.search,
               apikey: 'XXXX',
               callback: 'JSON_CALLBACK'
            }
        }
        })
    }
return rtAPIall;
});
HTML


只有一家工厂可以正常工作。问题是什么?

将依赖项
MovieRama.services
添加到引导应用程序的主模块中(可能是
index.js
app.js
,具体取决于您的文件结构)

同时删除对
的引用,因为您有两个文件可供选择。将角度文件移到
js
文件之前的顶部


另外,为什么这两种方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:

var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {

var rtAPI = {};

rtAPI.getMovies = function() {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?     page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
    });
}
rtAPI.getMoviesall = function () {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
        params: {
            page_limit: '10',
           page:'1',
           q: $scope.search,
           apikey: 'XXXX',
           callback: 'JSON_CALLBACK'
        }
    }
    })
}
return rtAPI;
});

将依赖项
MovieRama.services
添加到引导应用程序的主模块(可能是
index.js
app.js
,取决于您的文件结构)

同时删除对
的引用,因为您有两个文件可供选择。将角度文件移到
js
文件之前的顶部


另外,为什么这两种方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:

var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {

var rtAPI = {};

rtAPI.getMovies = function() {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?     page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
    });
}
rtAPI.getMoviesall = function () {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
        params: {
            page_limit: '10',
           page:'1',
           q: $scope.search,
           apikey: 'XXXX',
           callback: 'JSON_CALLBACK'
        }
    }
    })
}
return rtAPI;
});

您是如何在html中实例化模块的?@AlexChance我为您编辑了描述只是猜测,但您可能想尝试更改加载js文件的顺序。首先加载app.js,并在加载之前尝试注入对MovieRama.services的依赖关系。或者尝试将所有模块代码放在一个文件中,以测试这是否是问题所在。奇怪的是,当我添加第二个app.factory时会出现异常。另外,为什么这两个方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:您是如何在html中实例化模块的?@AlexChance我为您编辑了描述只是一个猜测,但您可能希望尝试更改加载js文件的顺序。首先加载app.js,并在加载之前尝试注入对MovieRama.services的依赖关系。或者尝试将所有模块代码放在一个文件中,以测试这是否是问题所在。奇怪的是,当我添加第二个app.factory时会出现异常。另外,为什么这两个方法作为不同的服务。您可以使用以下两种方法提供一个服务:我想我已经这样做了。我已经为您编辑了描述,没有任何更改。奇怪的是,当我添加第二个app.factory时,问题出现了。还有其他想法吗?没有。。一点也没有变化,我想我已经这样做了。我已经为您编辑了描述,没有任何更改。奇怪的是,当我添加第二个app.factory时,问题出现了。还有其他想法吗?没有。。没有任何变化
var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {

var rtAPI = {};

rtAPI.getMovies = function() {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?     page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
    });
}
rtAPI.getMoviesall = function () {
    return $http({
        method: 'JSONP',
           url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
        params: {
            page_limit: '10',
           page:'1',
           q: $scope.search,
           apikey: 'XXXX',
           callback: 'JSON_CALLBACK'
        }
    }
    })
}
return rtAPI;
});