未知提供者试图在一个MeanJS v0.4.1应用程序中包含angular-websocket

在我正在使用的MeanJS应用程序中,在控制器中使用angular-websocket有点困难。

我的应用程序基于MeanJS v0.4.1。

我首先安装它:

bower install angular-websocket --save 

这创build了目录/ public / lib / angular-websocket

接下来我将它添加到/config/assets/default.js

  lib: { css: [ ... ], js: [ ... 'public/lib/angular-websocket/angular-websocket.js' ], tests: ['public/lib/angular-mocks/angular-mocks.js'] }, 

在我的/modules/core/client/app/config.js文件中,我已经添加它作为依赖:

  var applicationModuleVendorDependencies = [ ... 'angular-websocket' ]; 

最后在我的angular度模块本身,

  angular.module('somemodule').controller('ModulenameController', ['$scope', '$http', '$stateParams', '$location', 'Authentication', 'SomeModule', 'ngWebSocket', function ($scope, $http, $stateParams, $location, Authentication, SomeModule, ngWebSocket) { 

当我查看我的网页时,我可以在Chrome的开发人员工具的“来源”标签中看到它包含作为来源,

我想在我的控制器中使用这样的文件:

  var dataStream = ngWebSocket('wss://www.somesite.com/realtime'); dataStream.onMessage(function(message) { console.log("dataStream Message: " + message); $scope.orderBook = message; }); dataStream.send('{"op":"subscribe", "args":"someargument"}'); 

但是,我的控制台显示以下错误:

 Error: [$injector:unpr] Unknown provider: ngWebSocketProvider <- ngWebSocket <- ModuleNameController 

我尝试过的一些事情:

  1. 更改参考名称
    根据文档( https://www.npmjs.com/package/angular-websocket )

     angular.module('YOUR_APP', [ 'ngWebSocket' // you may also use 'angular-websocket' if you prefer ]) 

我试过用'ngWebSocket','angular-websocket',但是我仍然遇到同样的问题。

  1. 我试过看我的代码,看看是否这是重新定义为angularJS文档在这里:

    https://docs.angularjs.org/error/ $ injector / unpr

指出这个错误的原因可能是'使用angular.module API重新定义模块'。

任何帮助将不胜感激。

这个工厂实际上被命名为$websocket ,所以你应该这样做:

  angular.module('somemodule').controller('ModulenameController', ['$scope', '$http', '$stateParams', '$location', 'Authentication', 'SomeModule', '$websocket', function ($scope, $http, $stateParams, $location, Authentication, SomeModule, $websocket) {