Angularjs 使用角常数时的误差

Angularjs 使用角常数时的误差,angularjs,Angularjs,我试图在ny项目中使用angular常量,我需要通过向config.json文件发出http请求来获取该常量。但当我尝试将该常数注入任何控制器时,angular会给我以下错误: 未捕获错误:[$injector:modulerr]未能实例化模块仪表板,原因是: 错误:[$injector:unpr]未知提供程序:$http 我的角常数和路径代码看起来像这样 'use strict'; var dashboard = angular.module('dashboard', [

我试图在ny项目中使用angular常量,我需要通过向config.json文件发出http请求来获取该常量。但当我尝试将该常数注入任何控制器时,angular会给我以下错误: 未捕获错误:[$injector:modulerr]未能实例化模块仪表板,原因是: 错误:[$injector:unpr]未知提供程序:$http 我的角常数和路径代码看起来像这样

     'use strict';

    var dashboard = angular.module('dashboard', [
       'ngResource',
       'ngSanitize',
       'ngRoute',   
     ]);

    dashboard.config(function($routeProvider) {
        $routeProvider
          .when('/:appName', {
          templateUrl: 'views/dashboard_landing.html',
          controller: 'displayController'
        })
          .when('/:appName/individual/session/graph', {
          templateUrl: 'views/individual_session_graph.html',
          controller: 'indSessionGraphCtrl'
        })
          .when('/:appName/individual/session/piechart', {
          templateUrl: 'views/individual_session_pie.html',
          controller: 'indSessionPieCtrl'
        })
          .when('/:appName/individual/activity', {
          redirectTo: ':appName/individual/session/graph'
        })
          .when('/:appName/individual/engagement', {
          templateUrl: 'views/individual_engagement.html',
          controller: 'indEngagementCtrl'
        })
          .when('/:appName/overall/session/graph', {
          templateUrl: 'views/overall_session_graph.html',
          controller: 'oveSessionGraphCtrl'
        })

        .otherwise({
          redirectTo: '/lecafe'
        });
      });


    dashboard.config(function ($provide, $http) {
        $provide.constant('baseURL',function() {
          $http({
            method:'GET',
            url:'/baseurl.json'
          })
          .success(function(data){
            var baseURL = data[0].baseURL;
            return baseURL;
          })
          .error(function(){
          });
        });
      });
有人能帮我克服这个错误吗。
提前感谢…

这与这个问题非常相似:

简而言之,您不能在.config节中使用$http,因为$http本身尚未配置。但是有一些方法可以用来实现你想要的

我个人的理想是:如果您可以控制baseurl.json的内容,那么可以将其更改为运行的.js文件

angular.module('dashboard').constant('baseURL', 'http://...');
并将其包含在结束正文标记之前

<script type="text/javascript" src="/baseurl.js"></script>

我经常使用这种模式将各种设置包含到应用程序中

如果这不是一个选项,您可以遵循此问题中的方法: