2015-06-29 61 views
3

我想包含到Aurelia框架項目sockets.io。 我已經安裝了插座:使用system.js導入socket.io

jspm install npm:socket.io 

的話,我想進口:

import {io} from "socket.io"; 

而且結果是:

GET http://localhost:9000/jspm_packages/npm/[email protected]/package.js 404 (Not Found) 

問題出在哪裏?爲什麼要提到package.js而不是package.jsonsocket.io.js

回答

10

在客戶端(Aurelia大街),你應該使用server.io客戶

import io from 'socket.io-client'; 

var socket = io('http://localhost:9000'); 
socket.emit('news', { hello: 'world' }); 
+0

您可以使用JSPM輕鬆導入這個漂亮的版本嗎?它與上面列出的是同一個包嗎? –

+0

是的,你可以保留這個「jspm install npm:socket.io」,因爲「socket.io-client」是「socket.io」的依賴關係 –

+1

我必須添加「jspm install npm:socket.io-client」,因爲這個模塊不想加載。我認爲,問題是npm和jspm清除了緩存,我昨天做了什麼。 – InnerWorld

-1

我最近有 'socket.io客戶端的' 加載的問題,發現

import io from 'socket.io-client'; 
var socket = io(); 

止跌不工作,因爲它試圖加載未定義的socket_io_client.default。 相反,我不得不使用

import io = require('socket.io-client'); 
var socket = io(); 
+0

導入然後需要?? – pungggi

+0

@pungggi在打字稿中有效。 –

1

如果你的服務器運行的是插座-IO那麼它無論如何都會被服務的客戶機。因此,您應該可以添加到您的config.js文件的地圖部分:

"socket.io" : "/socket.io/socket.io.js"