nodemon -v
: 1.18.6(μ΅μ )node -v
: 10.13docker-compose.yml
:
version: '3.1'
services:
node:
image: node:10
working_dir: /usr/local/src/
volumes:
- .:/usr/local/src/
environment:
- NODE_ENV=development
command: bash -c "nodemon --watch src --exec 'node src/server.js'"
μ€ν: docker-compose up
src/
μμ νμΌμ λ³κ²½νλ©΄ λ€μ μμν΄μΌ ν©λλ€.
λ€μ μμνμ§ μμ
mkdir -p test/src && touch test/docker-compose.yml && touch test/src/server.js
docker-compose.yml
볡μ¬cd test && docker-compose up
server.js
μμ 무μΈκ°λ₯Ό λ³κ²½νκ³ κ΄μ°°νμμμ€.-L
νλκ·Έλ₯Ό μΆκ°νλ©΄ λͺ¨λ κ²μ΄ μ μλν©λλ€! μ΅μ λ²μ μμ 무μΈκ°κ° μ£½μμ΅λλ€(https://github.com/docker/labs/issues/378).
μ΄κ²μ nodemon λ¬Έμ μ λκΉ μλλ©΄ λ컀μ λκΉ?
@remy μ΄κ²μ nodemon λ³κ²½μ μ¦μμΌλ‘ 보μ λλ€. μ κ·Έλ μ΄λ ν dockerμμ μλνλ €λ©΄ https://github.com/remy/nodemon#application -isnt-restartingμ λ°λΌμΌ νμ΅λλ€.
μ΄ λ¬Έμ λ μ΅κ·Ό νλμ΄ μμκΈ° λλ¬Έμ μ ν΄ μνλ‘ μλ νμλμμ΅λλ€. λ μ΄μ νλμ΄ λ°μνμ§ μμΌλ©΄ μλμΌλ‘ λ«νλλ€. μ΄κ²μ΄ μλͺ»λμλ€κ³ μκ°νκ±°λ λ¬Έμ κ° μ¬μ ν μ§μλλ κ²½μ° λκΈμ λ΅μ₯μ μ
λ ₯νλ©΄ @remy κ° (μλ!) νμ μ‘°μΉλ₯Ό
κΈ°μ¬ν΄μ£Όμ
μ κ°μ¬ν©λλ€ <3
@remy μ΄μ λν μκ°μ΄ μμ΅λκΉ?
λκΈμ λμ³€μ΅λλ€. μ΄μ λ²μ μ nodemon(μ΅μ λ컀 ν¬ν¨)μΌλ‘ μλν λμμ 볡μ ν μ μμ΅λκΉ? λλ λ컀μ λν κ²½νμ΄ μκΈ° λλ¬Έμ λ컀μμ μΌμ΄λλ μΌμ λ΄λΆλ₯Ό μμ ν μ΄ν΄νμ§ λͺ»ν©λλ€.
λλ μ΄ λ¬Έμ λ₯Ό λλ²κΉ νλ λ° ν루 μ΄μμ 보λμΌλ―λ‘ λ΄κ° λ°°μ΄ κ²μ μ 곡νλ λ° λμμ λλ¦¬κ² μ΅λλ€.
μν©μ λ°λΌ λΉλ νλ‘μΈμ€μ μΆκ° λ¨κ³κ° μμ΅λλ€. μ½λ λ³ν λ° λ²λ€λ§μ μ²λ¦¬νλ tsc --watch
μμ΅λλ€. μ΄μ μλ μ΄μ λ²μ μ nodemonμ μ¬μ©νμ¬ μ΄ μμ€ν
μ λ‘컬μμ μ€ννμ΅λλ€.
κ½€ λ§μ μ‘°μ¬λ₯Ό ν΅ν΄ λλ nodemonμ΄ λ€μ μμλμ§ μλ λμ μ λ°μ΄νΈλ λΉλ νμΌμ΄ 컨ν μ΄λ μ체 λ΄μμ μ±κ³΅μ μΌλ‘ μ νλκ³ μμμ μμ차리기 μμνμ΅λλ€.
μΆκ° ν΅μ°°λ ₯μ λ°λ₯΄λ©΄ 컨ν μ΄λ λ΄μμ μλμΌλ‘ νμΌμ λ³κ²½νλ©΄ nodemonμ΄ μμλλ‘ λ€μ μμλμμ΅λλ€.
μ΄κ²μΌλ‘ λλ 컨ν μ΄λ μ체μμ λ΄ μκ³ μμ€ν μ μ€ννλ €κ³ μλνκ³ μ§μ, λ‘컬 λ³κ²½ μ¬νμ λ°λΌ nodemonμ λ€μ μμνμ΅λλ€!
μμ§ν λ§ν΄μ νμΌ λ³κ²½μ μ€ν 컨ν μ€νΈλ₯Ό λ³κ²½νλ κ²μ΄ μ μ€μνμ§ μ νν λͺ¨λ₯΄κ² μ΅λλ€.
λλ κ·Έκ²μ΄ μλ λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ¬μ ν λμμ λ³νκ° μλμ§ νμΈνκΈ° μν΄ λ§μ§λ§ λͺ κ°μ§ λ²μ μ nodemonμ 컀λ°μ λλλ¦¬λ €κ³ μλνμ΅λλ€.
λ΄ μ§κ°μ fs watchλ₯Ό μ²λ¦¬νλ nodemonμ μ’ μμ±μ΄ κΈ°μ‘΄ κΈ°λ₯μ μμμμΌ°λ€λ κ²μ λλ€. μ΄λ»κ² λ mac os νμΌ λ³κ²½ -> 컨ν μ΄λ λ³Όλ₯¨ μ¬λ³Όλ¦ λ§ν¬ λ³κ²½μ μ€ν κ²½λ‘μμ nodemonμ΄ μ ννμ§ μμ΅λλ€.
λ΄κ° nodemonμ λ΄λΆμ λν΄ μΆ©λΆν μμ§ λͺ»νκ³ λ€μ μμ νκ²½μ κ°μ§κ³ μλ€λ κ²μ κ³ λ €νλ©΄ μ¬κΈ°μ μ΄λ€ μ’ μμ±μ΄ λΉλλ°μ μ μλμ§ μμ λ΄λ €κ³ λ Έλ ₯νμ§ μμμ΅λλ€.
ν΅μ¬ μ§λ¬Έ(λ΄ λ¬Έμ ν νλ¦Ώμ μΆκ°ν κ²): μ΄λ€ λ컀 μ΄λ―Έμ§λ₯Ό μ¬μ©νκ³ μμ΅λκΉ?
μ΄κ±΄ #1484μ μμμλΌκ³ μκ°νκ³ μνμΈμ μ¬μ©νλ κ² κ°μμ μμ μ¬νμ νΈμνλ©΄ μμ λ κ²μ λλ€β¦
[email protected]μ λΌμ΄λΈ μμ (
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€ @leifdejong μλν©λλ€! docker-compose.ymlμμ μΌλΆλ₯Ό λ³κ²½νμμμ€.
nodemon index.js λͺ λ Ή
λͺ λ Ή nodemon -L index.js
μ΄κ²μ λλ₯Ό μν΄ μΌνμ΅λλ€ (λ΄ Dockerfileμ inotify-tools
μΆκ°): https://stackoverflow.com/a/46804953/2397773
λν webpack-dev-server
κ° λ€μ λ‘λλμ§ μλ κ²κ³Ό λμΌν λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€ @leifdejong μλν©λλ€! docker-compose.ymlμμ μΌλΆλ₯Ό λ³κ²½νμμμ€.
nodemon index.js λͺ λ Ή
λͺ λ Ή nodemon -L index.js
μ΄κ²μ λλ₯Ό μν΄ μΌνμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€ @leifdejong μλν©λλ€! docker-compose.ymlμμ μΌλΆλ₯Ό λ³κ²½νμμμ€.
nodemon index.js λͺ λ Ή
λͺ λ Ή nodemon -L index.js
μ λ₯Ό μν΄ μΌν΄μ£Όμ μ κ°μ¬ν©λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€ @leifdejong μλν©λλ€! docker-compose.ymlμμ μΌλΆλ₯Ό λ³κ²½νμμμ€.
nodemon index.js λͺ λ Ή
λͺ λ Ή nodemon -L index.js
κ³ λ§μ.
λλ₯Ό μν΄ -L νλκ·Έλ₯Ό μ¬μ©ν΄λ μλνμ§ μμ΅λλ€. λ Έλ μ΄λ―Έμ§λ₯Ό κΈ°λ³Έ μ΄λ―Έμ§λ‘ μ¬μ©νκ³ μμΌλ©° 컨ν μ΄λ λ΄λΆμ nodemonμ μ€μΉν λ λ€μ κ²½κ³ κ° νμλ©λλ€.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/nodemon/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
chokidarμ fseventsκ° μ΄ nodemon μ¬μμκ³Ό κ΄λ ¨μ΄ μλ€κ³ μκ°ν©λλ€. μμ νλ λ°©λ²μ λν μ μμ΄ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
@remy μ΄κ²μ nodemon λ³κ²½μ μ¦μμΌλ‘ 보μ λλ€. μ κ·Έλ μ΄λ ν dockerμμ μλνλ €λ©΄ https://github.com/remy/nodemon#application -isnt-restartingμ λ°λΌμΌ νμ΅λλ€.