Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

56 lines (35 sloc) 3.111 kb

클라이언트 파일의 라이브 리로딩

웹개발자의 일상은 보통 코드를 바꾸고, 브라우져를 리로드하고, 코드를 바꾸고의 연속입니다. 원하는 결과가 나올때 까지는요.

소켓스트림은 client디랙토리의 파일이 수정되면 자동으로 브라우저를 리로드해서 이 굴래를 깨버렸습니다.

이 기능은 특히 CSS나 HTML을 만질때 유용합니다. 그냥 모니터 한편에 텍스트 에디터를 여시고 브라우저를 반대편에 두시고 생산성이 치솓는걸 느끼세요.

라이브 리로드는 다음 명령이 불리지 않는 이상 자동으로 실행됩니다:

ss.client.packAssets()

보통 이건 production 모드에서 하죠?

알려진 문제점

라이브 리로드는 노드의 fs.watch()API 에 포함되어있습니다. 이는 운영체재마다 다르게 작동합니다. 예를들어 리눅스에선 client 디랙토리에 파일이 많을 경우 EMFILE에러가 나옵니다. 이런 경우 다음 파일을 여시고:

sudo vi /etc/sysctl.conf

다음 라인을 추가합니다.

fs.inotify.max_user_instances = 200 # 필요하면 더 올리셔도 됩니다.

그리고 다음 명령을 실행

sudo sysctl -p

만약 여전히 원하는 대로 안되면 사용하는 OS와 에러로그로 이슈를 등록해주세요.

옵션

개발환경이라도 라이브 리로드를 끄고 싶으시면, 다음코드를 app.js 에 넣으세요.

ss.client.set({liveReload: false})

/client내에서 라이브 리로드를 할 최상위 디랙토리를 지정하고 싶으시다면 이렇게 하세요.

ss.client.set({liveReload: ['views', 'css'])
Jump to Line
Something went wrong with that request. Please try again.