我正在尝试在我的angular 2应用程序中使用socket.io客户端并安装它和打字
我只是从'socket.io-client'导入;
但不知怎的,我从中得到了很多错误:
如果我从cdn加载脚本并将init代码放在<script>
标签中,我可以在index.html中使用lib,但我不能在我的实际angular 2应用程序中使用它。< / p>
我在这里做错了什么?
这是我的样板:https://github.com/mgechev/angular2-seed
socket.io的例子似乎已经过时了,这就是我避免它们的原因。
这就是我正在做的并且已经收到了这些错误:
import * as io from 'socket.io-client';
[...]
var socket = io('127.0.0.1');
所以这个问题似乎与SystemJS有关。 这个https://github.com/mgechev/angular2-seed/wiki/Add-external-dependency建议我可以添加socket.io-client,它应该自动添加所有依赖项,但看起来并非如此。
我已经尝试了完整的示例,但这也无效。
答案 0 :(得分:2)
我在angular 2应用程序中使用socket.io客户端,并且没有任何问题。首先,您不应将script
标记放入index.hml
中的socket.io-client。其次,你需要在system.js配置中使用这些行:
{
packages: {
"socket.io-client": {"defaultExtension": "js"}
},
map: {
"socket.io-client": "node_modules/socket.io-client/socket.io.js"
}
}
然后你只需使用它:
import * as io from "socket.io-client";
io.connect(url, { /* ... */ });
答案 1 :(得分:0)