Angular找不到创建的提供者

时间:2017-03-26 21:02:55

标签: javascript angularjs ecmascript-6

我有使用webpack和babel的应用程序,代码如下所示:

app.js

import angular from 'angular';
import 'jquery';
import components from './components/index';
import services from './services/index';
import './app.css';

angular.module('app', [components.name, services.name])
    .config((rpc) => {
        rpc.setup('rpc.scm');
    });

服务/ index.js

import angular from 'angular';
import rpc from './rpc';

var module = angular.module('services', []);

module.provider('rpc', rpc);

export default module;

服务/ rpc.js

import $ from 'jquery';

export default function() {
   var service = {};
   this.setup = function(uri) {
       // create service based on system.describe
   };
   this.$get = function() {
       return service;
   }
};

我收到了错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] Unknown provider: rpc

我没有从webpack中收到任何错误。

1 个答案:

答案 0 :(得分:1)

提供者应按如下方式注入:

angular.module('app', [components.name, services.name])
 .config((rpcProvider) => {
});

因为.config只接受nameofprovider + Provider(驼峰大小写)。

此处有更多信息:AngularJS - Inject provider to module.config