2013-12-18 4 views
0

typescript 프로젝트의 socket.io 사이트에 표시된이 코드를 테스트하려고하는데 typescript 정의에이 함수에서 호출 된 인터페이스가없는 것 같습니다 :Socket.io 타이프 스크립트 정의가 틀린 것처럼 보입니다

,691 :

여기
error TS2094: The property 'sockets' does not exist on value of type '{ listen: { (server: http.Server, options: any, fn: Function): SocketManager; (server: http.Server, fn?: Function): SocketManager; (port: Number): SocketManager; }; }'. 

가 d.ts 파일입니다 : 여기

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

오류입니다 :

여기 내 코드입니다

https://github.com/borisyankov/DefinitelyTyped/blob/master/socket.io/socket.io.d.ts#L68

답변

2

socket.io API changed between 0.6 and 0.7처럼 보이며 선언 파일이이를 반영하도록 업데이트되지 않았습니다. 그래서 당신은 아무 잘못도 없습니다.

대부분의 선언 파일은 자신이 설명하는 프로젝트와 독립적으로 자원자가 관리합니다. 새로운 선언 파일을 작성하여 명확한 형식의 프로젝트에 제출하면 감사하게 될 것입니다. 나는 여전히 this이 지금까지의 과정에서 가장 좋은 가이드라고 생각한다.

+0

그걸 알아두면 좋구나. Typescript ..와 정의 파일을 처음 접해 보았지만, 나는 내 방식을 수정하고있다. 하지만 내가 오류없이 실행중인 경우 - 아마 그것을 업로드 할 것입니다. – EternallyCurious

+0

@EternalallyCurious 파일이 8 시간 전에 업데이트되었습니다 (게시물 3 개). 최신 버전을 구하고 작동하는지 확인하고 싶다면 문제 (https://github.com/borisyankov/DefinitelyTyped/issues)를 만들고 잘하면 누군가 업데이트 할 것입니다. :) – John

관련 문제