我试图在angular2应用程序中监听套接字事件。 从服务器端,我发出一个事件,然后尝试从客户端捕获它。
app.js:
var io = require('socket.io')(server);
io.on('connection', function(socket) {
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
});
从客户端我可以成功地听取它 的index.html:
<script src='node_modules/socket.io-client/socket.io.js'></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('welcome', function(data) {
console.log(data);
});
</script>
直到现在这是好的。但是当我尝试在我的一个角度组件中听这个事件时,让我们说myComponent.ts如下:
import * as io from 'socket.io-client'
...
...
constructor(...) {
this.socket = io.connect('http://localhost:3000');
this.socket.on('welcome', function (data) {
console.log(data);
});
}
浏览器说无法找到 socket.io-client 。并且在浏览器控制台中出现了一些错误:
angular2-polyfills.js:126 GET http://localhost:3001/socket.io-client/ 404 (Not Found)
angular2-polyfills.js:390 Error: Error: XHR error (404 Not Found) loading http://localhost:3001/socket.io-client(…)
感谢任何形式的帮助。