Nodemon: 단일 파일 변경에 λŒ€ν•΄ Nodemon이 두 번 λ‹€μ‹œ μ‹œμž‘λ¨

에 λ§Œλ“  2016λ…„ 06μ›” 14일  Β·  12μ½”λ©˜νŠΈ  Β·  좜처: remy/nodemon

단일 파일 변경에 λŒ€ν•΄ nodemon κ°€) 두 번 λ‹€μ‹œ μ‹œμž‘λ˜λŠ” 원인이 λ©λ‹ˆλ‹€. λ‚˜λŠ” 그것이 무엇인지 μ‘°μ‚¬ν•˜μ§€λŠ” μ•Šμ•˜μ§€λ§Œ nodemon μ‚¬μš©ν•˜λŠ” κΈ°λ³Έ 라이브러리라고 μƒκ°ν•©λ‹ˆλ‹€.

  • v5.11.1κ³Ό v6.2.0 λͺ¨λ‘μ—μ„œ 이것을 ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€.
  • gulp-nodemon λ₯Ό 래퍼둜 μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ gulp-nodemon μ—μ„œ 이λ₯Ό νŠΈλ¦¬κ±°ν•˜λŠ” ν•­λͺ©μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.

λ‚΄ 초기 생각은 fsevents λ˜λŠ” chokidar μž…λ‹ˆλ‹€. μ–΄λ–€ 아이디어?

[09:01:06] File /Volumes/STORAGE/Projects/Docker_Packages/agent_management_app/Core/server/views/index.jade was changed
[09:01:06] [nodemon] files triggering change check: server/views/index.jade
[09:01:06] [nodemon] matched rule: **/server/views/**/*
[09:01:06] [nodemon] changes after filters (before/after): 1/1
[09:01:06] [nodemon] restarting due to changes...
[09:01:06] [nodemon] server/views/index.jade
[09:01:06] [nodemon]
[09:01:06] [nodemon] running tasks...
...
[09:01:35] [nodemon] files triggering change check: server/views/index.jade
[09:01:35] [nodemon] matched rule: **/server/views/**/*
[09:01:35] [nodemon] changes after filters (before/after): 1/1
[09:01:35] [nodemon] restarting due to changes...
[09:01:35] [nodemon] server/views/index.jade
[09:01:35] [nodemon]
[09:01:35] [nodemon] running tasks...
stale

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

nodemon: v1.11.0 (κΈ€λ‘œλ²Œ 버전이 μ„€μΉ˜λ˜μ§€ μ•ŠμŒ)
λ…Έλ“œ: v7.7.3
nvm: v0.33.0
OS: MacOS 10.12.13 (Sierra)

지연 μ˜΅μ…˜ 은 2μ΄ˆλ³΄λ‹€ 짧은 μ§€μ—°μœΌλ‘œ μ €μ—κ²Œ νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

--exec μ˜΅μ…˜κ³Ό λ…Έλ“œ .js 파일 λͺ¨λ‘μ—μ„œ λ°œμƒν•©λ‹ˆλ‹€.
μž₯κΈ° μ‹€ν–‰ 및 단기 μ‹€ν–‰ ν”„λ‘œμ„ΈμŠ€.

μž„μ‹œ μˆ˜μ •: λ ˆκ±°μ‹œ 파일 풀링 ν™œμ„±ν™”

$ nodemon -L index.js

λͺ¨λ“  12 λŒ“κΈ€

일뢀 쑰사 ν›„ ν™•μΈλœ 파일/디렉토리 μ„ΈνŠΈλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

[ 'client/**/*.js',
  'client/locales/*.json',
  'server/views/**/*.jade',
  'server/config/*',
  'server/**/*.js' ]

그리고 server/views/index.jade νŒŒμΌμ„ for.eg둜 λ³€κ²½ν•˜λ©΄ server/views/**/*.jade 뿐만 μ•„λ‹ˆλΌ server/**/*.js 도 보고 μžˆμœΌλ―€λ‘œ μ‹œκ³„κ°€ 두 번 νŠΈλ¦¬κ±°λ©λ‹ˆλ‹€.

server/**/*.js κ°€ 두 번째 트리거λ₯Ό μΌμœΌν‚€λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? κ·Έλ ‡λ‹€λ©΄ μΌμΉ˜ν•˜λŠ” κ·œμΉ™μ΄ 이λ₯Ό λ°˜μ˜ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆκΉŒ?

μˆ˜μ • 은 λ¬Όλ‘  server/**/*.js λ₯Ό server/javascripts/**/*.js

λ‚˜λŠ” λ˜ν•œ κ·Έ 문제λ₯Ό μ•Œμ•„μ°¨λ Έλ‹€! nodemon λŠ” 단일 파일 변경에 λŒ€ν•΄ 두 번 λ‹€μ‹œ μ‹œμž‘λ©λ‹ˆλ‹€.

λ‚˜λŠ” "ext": "js json" 두 개의 λ‹€λ₯Έ ν™•μž₯(κ°€λŠ₯ν•΄μ•Ό 함)을 λͺ©ν‘œλ‘œ μ‚Όκ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. .
1개의 js 파일만 μˆ˜μ •ν–ˆμ„ λ•Œ nodemon 두 번 λ‹€μ‹œ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
ν•˜λ‚˜μ˜ ν™•μž₯ κΈ°λŠ₯만 κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ ꡬ성을 λ³€κ²½ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ©λ‹ˆλ‹€.

@nixgadget κ·€ν•˜μ˜ 경우λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ μ—¬κΈ°μ—μ„œλ„ 두 번 λ‹€μ‹œ μ‹œμž‘λ©λ‹ˆλ‹€!

Node v6.9μ—μ„œ Node v7.7둜 μ—…κ·Έλ ˆμ΄λ“œν•œ ν›„ 이것을 보기 μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.

nodemon: v1.11.0 (κΈ€λ‘œλ²Œ 버전이 μ„€μΉ˜λ˜μ§€ μ•ŠμŒ)
λ…Έλ“œ: v7.7.3
nvm: v0.33.0
OS: MacOS 10.12.13 (Sierra)

지연 μ˜΅μ…˜ 은 2μ΄ˆλ³΄λ‹€ 짧은 μ§€μ—°μœΌλ‘œ μ €μ—κ²Œ νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

--exec μ˜΅μ…˜κ³Ό λ…Έλ“œ .js 파일 λͺ¨λ‘μ—μ„œ λ°œμƒν•©λ‹ˆλ‹€.
μž₯κΈ° μ‹€ν–‰ 및 단기 μ‹€ν–‰ ν”„λ‘œμ„ΈμŠ€.

μž„μ‹œ μˆ˜μ •: λ ˆκ±°μ‹œ 파일 풀링 ν™œμ„±ν™”

$ nodemon -L index.js

이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? λ ˆκ±°μ‹œ 파일 풀링은 ν™•μ‹€νžˆ 문제λ₯Ό ν•΄κ²°ν•˜μ§€λ§Œ μˆ˜μ •μ΄ μ μ ˆν•  κ²ƒμž…λ‹ˆλ‹€.

Govind - 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” PR을 μ•Œλ €μ£Όμ‹œλ©΄ λ³‘ν•©ν•˜κ² μŠ΅λ‹ˆλ‹€.

2017λ…„ 9μ›” 7일 λͺ©μš”일 21:06 Govind Rai [email protected]μ—μ„œ λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? λ ˆκ±°μ‹œ 파일 풀링은 ν™•μ‹€νžˆ 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ μˆ˜μ •μ΄ μ μ ˆν•  κ²ƒμž…λ‹ˆλ‹€.

β€”
이 μŠ€λ ˆλ“œμ— κ°€μž…ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ©”μ‹œμ§€λ₯Ό λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/remy/nodemon/issues/854#issuecomment-327913249 λ˜λŠ” μŒμ†Œκ±°
μŠ€λ ˆλ“œ
https://github.com/notifications/unsubscribe-auth/AAA1hJSDXSxKotIpFR1Vq62YF1H237Csks5sgEzIgaJpZM4I1wr0
.

이 λ¬Έμ œλŠ” 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— 유휴 μƒνƒœλ‘œ μžλ™ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 더 이상 ν™œλ™μ΄ λ°œμƒν•˜μ§€ μ•ŠμœΌλ©΄ μžλ™μœΌλ‘œ λ‹«νž™λ‹ˆλ‹€. 이것이 잘λͺ»λ˜μ—ˆλ‹€κ³  μƒκ°ν•˜κ±°λ‚˜ λ¬Έμ œκ°€ μ—¬μ „νžˆ μ§€μ†λ˜λŠ” 경우 λŒ“κΈ€μ— λ‹΅μž₯을 μž…λ ₯ν•˜λ©΄ @remy κ°€ (μ‹œλ„!) 후속 쑰치λ₯Ό
κΈ°μ—¬ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ <3

errr... κ·Έλž˜μ„œ μ μ ˆν•œ μˆ˜μ •μ΄ κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ μ—¬μ „νžˆ -L ν”Œλž˜κ·Έμ— μ˜μ‘΄ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

μ‹ κ²½ 쓰지 λ§ˆμ„Έμš”. -L ν”Œλž˜κ·Έ lol을 μ‚¬μš©ν•˜λ©΄ λ‹€λ₯Έ 문제λ₯Ό μΌμœΌν‚€μ§€ μ•Šκ³  잘 μž‘λ™ν•©λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ λ‹«νžŒ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ¬Έμ œλŠ” μ—¬μ „νžˆ μ‘΄μž¬ν•©λ‹ˆλ‹€.

λŒ“κΈ€μ„ μ½μ–΄λ³΄μ„Έμš”. 아무도 그것을 고치고 μ‹Άμ–΄ν•˜μ§€ μ•Šμ•„ 유휴 μƒνƒœκ°€λ˜μ–΄ μžλ™μœΌλ‘œ λ‹«ν˜”μŠ΅λ‹ˆλ‹€.

λ™μΌν•œ λ¬Έμ œκ°€ 여기에 μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆ -L μ‹œλ„ 쀑

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰