与 TypeScript 一起使用时未知的提供者 $ocLazyLoad

Unknown provider $ocLazyLoad when using with TypeScript

我正在尝试使用 TypeScript 在 Angular.js 内部使用 $ocLazyLoad。但是我一直收到 Unknown provider error。我将它包含在我的主要应用程序中:

index.module.ts

/// <reference path="../../.tmp/typings/tsd.d.ts" />
/// <reference path="index.route.ts" />
/// <reference path="index.config.ts" />
/// <reference path="index.run.ts" />

module myApp {
  'use strict';

  angular.module('myApp', [
    'ui.router',
    'oc.lazyLoad'])
    .config(RouterConfig)
    .config(Config)
    .run(RunBlock);
}

当我尝试将其包含在我的 RouterConfig:

中时出现错误

index.route.ts

module myApp {
  'use strict';

  export class RouterConfig {

    static $inject = ['$stateProvider', '$urlRouterProvider', '$ocLazyLoad'];

    constructor($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider, $ocLazyLoad: oc.ILazyLoad) {
      $urlRouterProvider.otherwise('/dashboard');

      $stateProvider
        .state('dashboard', {
          url: '/dashboard',
          templateUrl: 'app/modules/core/dashboard/dashboard.html'
        });
    }

  }
}

真正奇怪的是我可以毫无问题地包含 $ocLazyLoadProvider。这是来自 Yeoman using gulp, typescript, and ui-router.

的非常简单的设置

.config(RouterConfig) 中有错误。

传入 config 函数 未使用 new 运算符调用,因此 不要使用打字稿 class 这里。