Ошибки для socket.io в угловых 2 семян
Невозможно интегрировать socket.io в приложение angular2-seed. На самом деле мой код
private mySocket:any;
getSocketValue() {
console.log("this.mySocket"+this.mySocket)
if(this.mySocket) {
this.mySocket = io(Config.socket_url);
}
return this.mySocket;
}
2 ответа
Решение
Socket.io-client not loaded properly
Попробовал ниже, это работает npm install @types/socket.io-client - сохранить определение socket.io-client в tools/config/seed.config.ts
i.e in SYSTEM_CONFIG_DEV->
path: {
...,
'socket.io-client' : `node_modules/socket.io-client/dist/socket.io`,// for latest versions of socket.io
'socket.io-client' : `node_modules/socket.io-client/socket.io`,// for older versions of socket.io
...
}
добавить в SYSTEM_BUILDER_CONFIG для производственного режима
path: {
...,
'socket.io-client' : `node_modules/socket.io-client/dist/socket.io`,// for latest versions of socket.io
'socket.io-client' : `node_modules/socket.io-client/socket.io`,// for older versions of socket.io
...
}
Кажется, ваш сокет не загружен.!
Включите его в вашу конфигурацию systemJS.
System.config({
packages: {
...
"socket.io-client": {"defaultExtension": "js"}
},
map: {
"socket.io-client": "node_modules/socket.io-client/socket.io.js"
}
});
И если вы сгенерировали наборы для него тогда,
{
"ambientDependencies": {
...
"socket-io-client":"github:DefinitelyTyped/DefinitelyTyped/socket.io-client/socket.io-client.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
}
}