【发布时间】:2017-03-26 21:02:55
【问题描述】:
我有一个使用 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');
});
services/index.js
import angular from 'angular';
import rpc from './rpc';
var module = angular.module('services', []);
module.provider('rpc', rpc);
export default module;
services/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 中得到任何错误。
【问题讨论】:
-
检查这部分:.config((rpc) => {rpc.setup('rpc.scm');});你从哪里得到“rpc”? 注意:您只能在 .config 中注入提供程序!
-
@PaoloMangia 这是
module.provider('rpc', rpc); -
你不能那样做。它只接受:nameofproviderProvider。
-
@PaoloMangia Chaning rpc to rpcProvider in config 解决了这个问题,你可以添加这个作为答案。
标签: javascript angularjs ecmascript-6