我在使用我正在開發的MeanJS應用程序中的控制器中使用angular-websocket時遇到了一些困難。'Unknown Provider'試圖在MeanJS v0.4.1應用中包含angular-websocket
我的應用程序基於MeanJS v0.4.1。
bower install angular-websocket --save
這創建的目錄/公共/ LIB /角的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.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
一些我已經試過的東西:
改變基準名稱
按照文檔(https://www.npmjs.com/package/angular-websocket)angular.module('YOUR_APP', [ 'ngWebSocket' // you may also use 'angular-websocket' if you prefer ])
我用「試圖ngWebSocket ','angular-websocket',但我仍然遇到同樣的問題。
我試圖希望通過我的代碼,看看,也許這正被重新定義爲angularJS文檔瀏覽:
https://docs.angularjs.org/error/ $噴油器/ unpr
指出導致此錯誤的原因可能是'使用angular.module API重新定義模塊'。
任何幫助將不勝感激。
謝謝!這工作!我會在8分鐘內接受你的回答 –
沒問題!樂意效勞 :) – taxicala