본문으로 건너뛰기

번들러에서 브라우저 모듈 사용

iosignal은 Node.js와 브라우저 진입점을 별도로 제공합니다. 번들러에서는 브라우저 ESM 진입점 iosignal/io를 가져옵니다. 패키지 exports의 iosignal/io.js와 iosignal/browser/esm/io.js도 같은 파일(dist/browser/esm/io.js)을 가리킵니다.

npm install iosignal
import IO from 'iosignal/io';

const io = new IO('ws://localhost:7777');
io.on('room#chat', (tag, message) => console.log(tag, message));
io.on('ready', () => {
io.subscribe('room#chat');
io.signal('room#chat', '안녕하세요');
});

브라우저 모듈은 default export입니다. import { IO } from 'iosignal'은 Node.js용 진입점을 사용하므로 브라우저 번들에서 사용하지 마세요. 실행 구조는 Vanilla, React, Svelte 예제를 참고하세요.

컴포넌트가 종료될 때 io.destroy()로 소켓과 이벤트를 정리합니다. 메서드와 이벤트는 클라이언트 API에 모았습니다. 구독 순서는 연결 수명주기와 구독을 참고하세요.