Nodemon: 파일 변경을 μΈμ‹ν•˜μ§€λ§Œ @1.13.3μ—μ„œ λ‹€μ‹œ μ‹œμž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

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

  • μ΅œμ‹  nodemon μ—μ„œ 버그가 λ°œμƒν•©λ‹ˆκΉŒ?
    예
  • nodemon -v :
nodemon -v
1.13.3
  • node -v :
node -v
v8.9.3
  • 운영 체제/터미널 ν™˜κ²½:
    OSX ν•˜μ΄ μ‹œμ—λΌ 10.13.2(17C88)
  • μ‹€ν–‰ν•œ λͺ…λ Ή:
Heiko-MacPro:ms-fileservice-ts heiko$ npm start

> @hke/[email protected] start /Users/heiko/Sites/ms-fileservice-ts
> nodemon

[nodemon] 1.13.3
[nodemon] reading config /Users/heiko/Sites/ms-fileservice-ts/package.json
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 2834 to restart
[nodemon] ignoring: /Users/heiko/dev/ms-fileservice-ts/.git/**/* .nyc_output .sass-cache bower_components coverage /Users/heiko/dev/ms-fileservice-ts/node_modules/**/* build/compiled.js package.json
[nodemon] watching: /Users/heiko/Sites/ms-fileservice-ts/server/**/* /Users/heiko/Sites/ms-fileservice-ts/services/**/* app.ts
[nodemon] watching extensions: js,json
[nodemon] starting `npm run dev`
[nodemon] child pid: 2836
[nodemon] watching 6 files

> @hke/[email protected] dev /Users/heiko/Sites/ms-fileservice-ts
> npm run build && node build/compiled.js


> @hke/[email protected] build /Users/heiko/Sites/ms-fileservice-ts
> webpack --config config/webpack.config.js

ts-loader: Using [email protected] and /Users/heiko/Sites/ms-fileservice-ts/tsconfig.json
Hash: dfaa5ded6ecec74e4e71
Version: webpack 1.13.2
Time: 2458ms
      Asset     Size  Chunks             Chunk Names
compiled.js  20.9 kB       0  [emitted]  main
    + 20 hidden modules
ab
Listening on port 3300
[nodemon] files triggering change check: services/file.service.ts
[nodemon] matched rule: **/Users/heiko/Sites/ms-fileservice-ts/services/**/*
[nodemon] changes after filters (before/after): 1/0

package.json의 nodemonConfig:

  "nodemonConfig": {
    "verbose": true,
    "env": {
      "env": "development",
      "DEBUG": "modern-express:*"
    },
    "exec": "npm run dev",
    "execMap": {
      "ts": "npm run dev"
    },
    "ignore": [
      "build/compiled.js",
      "package.json"
    ],
    "watch": [
      "server",
      "services",
      "app.ts"
    ]
  }

λ‚΄ npm 슀크립트:

    "build": "webpack --config config/webpack.config.js",
    "start": "nodemon",
    "dev": "npm run build && node build/compiled.js",

μ˜ˆμƒλ˜λŠ” 행동

Nodemon은 λΉŒλ“œμ™€ λ‚΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ‹€μ‹œ μ‹œμž‘ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ‹€μ œ 행동

파일 변경을 μΈμ‹ν•˜μ§€λ§Œ λ‹€μ‹œ μ‹œμž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. rs μž…λ ₯ν•˜λ©΄ μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

μž¬ν˜„ 단계

도움이 λœλ‹€λ©΄ 였늘 저녁에 κ·Έ 리포지토리λ₯Ό κ³΅κ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€.


ν•΄λ‹Ήν•˜λŠ” 경우 λͺ…령에 --dump ν”Œλž˜κ·Έλ₯Ό μΆ”κ°€ν•˜κ³  여기에 좜λ ₯을 ν¬ν•¨ν•˜μ‹­μ‹œμ˜€. **λ―Όκ°ν•œ/개인 μ„ΈλΆ€ 정보 λ˜λŠ” 토큰을 μ œκ±°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

> nodemon --dump

[nodemon] 1.13.3
[nodemon] reading config /Users/heiko/dev/ms-fileservice-ts/package.json
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 3010 to restart
[nodemon] ignoring: /Users/heiko/dev/ms-fileservice-ts/.git/**/* .nyc_output .sass-cache bower_components coverage /Users/heiko/dev/ms-fileservice-ts/node_modules/**/* build/compiled.js package.json
[nodemon] watching: /Users/heiko/Sites/ms-fileservice-ts/server/**/* /Users/heiko/dev/ms-fileservice-ts/services/**/* app.ts
[nodemon] watching extensions: js,json
--------------
node: v8.9.3
nodemon: 1.13.3
command: /Users/heiko/.nvm/versions/node/v8.9.3/bin/node /Users/heiko/dev/ms-fileservice-ts/node_modules/.bin/nodemon --dump
cwd: /Users/heiko/Sites/ms-fileservice-ts
OS: darwin x64
--------------
{ run: false,
  system: { cwd: '/Users/heiko/Sites/ms-fileservice-ts' },
  required: false,
  dirs:
   [ '/Users/heiko/Sites/ms-fileservice-ts/server',
     '/Users/heiko/Sites/ms-fileservice-ts/services',
     '/Users/heiko/Sites/ms-fileservice-ts/app.ts' ],
  timeout: 1000,
  options:
   { dump: true,
     verbose: true,
     env: { env: 'development', DEBUG: 'modern-express:*' },
     exec: 'npm run dev',
     execMap: { ts: 'npm run dev', py: 'python', rb: 'ruby' },
     ignore:
      [ '.git',
        '.nyc_output',
        '.sass-cache',
        'bower_components',
        'coverage',
        'node_modules',
        'build/compiled.js',
        'package.json',
        re: /\.git|\.nyc_output|\.sass\-cache|bower_components|coverage|node_modules|build\/compiled\.js|package\.json/ ],
     watch: [ 'server', 'services', 'app.ts', re: /server|services|app\.ts/ ],
     ignoreRoot:
      [ '.git',
        '.nyc_output',
        '.sass-cache',
        'bower_components',
        'coverage',
        'node_modules' ],
     restartable: 'rs',
     colours: true,
     stdin: true,
     runOnChangeOnly: false,
     signal: 'SIGUSR2',
     stdout: true,
     watchOptions: {},
     execOptions:
      { script: null,
        exec: 'npm run dev',
        args: [],
        scriptPosition: null,
        nodeArgs: undefined,
        execArgs: [],
        ext: 'js,json',
        env: { env: 'development', DEBUG: 'modern-express:*' } },
     monitor:
      [ '/Users/heiko/dev/ms-fileservice-ts/server/**/*',
        '/Users/heiko/dev/ms-fileservice-ts/services/**/*',
        'app.ts',
        '!/Users/heiko/dev/ms-fileservice-ts/.git/**/*',
        '!.nyc_output',
        '!.sass-cache',
        '!bower_components',
        '!coverage',
        '!/Users/heiko/dev/ms-fileservice-ts/node_modules/**/*',
        '!build/compiled.js',
        '!package.json' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [ '/Users/heiko/dev/ms-fileservice-ts/package.json' ],
  watchInterval: null,
  signal: 'SIGUSR2',
  command:
   { raw: { executable: 'npm run dev', args: [] },
     string: 'npm run dev' } }
--------------
[nodemon] exiting

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

이것이 관련이 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μž₯ν™©ν•œ 좜λ ₯은 .ts νŒŒμΌλ„ λ³Ό ν•„μš”κ°€ μžˆλ‹€λŠ” λ‹¨μ„œκ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ 좜λ ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

[nodemon] watching extensions: js,json

κ·Έλž˜μ„œ -e js,json,ts λ₯Ό nodemon에 λŒ€ν•œ 인수둜 μΆ”κ°€ν–ˆκ³  이제 ts 파일의 λ³€κ²½ 사항이 μ¦‰μ‹œ μž¬κ΅¬μΆ•μ„ νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€.

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

이 버그λ₯Ό μΈμ •ν•©λ‹ˆλ‹€. λ‚˜λŠ” 이 [nodemon] matched rule: **/Users/heiko/Sites/ms-fileservice-ts/services/**/* κ°€ λ‹€λ₯Έ 문제, 특히 선두 **/ λΆ€λΆ„μ—μ„œ λ¬Έμ œκ°€ λ˜λŠ” 것을 λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 였늘 릴리슀의 μΌλΆ€λ‘œ μˆ˜μ • 사항을 μ œκ³΅ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

λΆˆν–‰νžˆλ„ μ™„μ „νžˆ μˆ˜μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 여기에 λ‚΄ ν”„λ‘œμ νŠΈλ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€: https://github.com/hkeio/fileservice
클둠을 μž¬ν˜„ν•˜κ³  npm i && npm start ν•©λ‹ˆλ‹€.

app.ts μ—μ„œ 무언가λ₯Ό λ³€κ²½ν•˜λ©΄ 잘 μž‘λ™ν•©λ‹ˆλ‹€. service/file.service.ts μ—μ„œ 무언가λ₯Ό 변경해도 λ³€κ²½λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹œμž‘ μ‹œ λ‹€μŒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

[nodemon] watching: /Users/heiko/Sites/ms-fileservice-ts/bin/**/* /Users/heiko/Sites/ms-fileservice-ts/classes/**/* /Users/heiko/Sites/ms-fileservice-ts/server/**/* /Users/heiko/Sites/ms-fileservice-ts/services/**/* app.ts

νŒŒμΌμ„ λ³€κ²½ν•˜λ©΄ μ—¬μ „νžˆ μ„ ν–‰ **/

nodemon] files triggering change check: services/file.service.ts
[nodemon] matched rule: **/Users/heiko/Sites/ms-fileservice-ts/services/**/*
[nodemon] changes after filters (before/after): 1/0

이것이 관련이 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μž₯ν™©ν•œ 좜λ ₯은 .ts νŒŒμΌλ„ λ³Ό ν•„μš”κ°€ μžˆλ‹€λŠ” λ‹¨μ„œκ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ 좜λ ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

[nodemon] watching extensions: js,json

κ·Έλž˜μ„œ -e js,json,ts λ₯Ό nodemon에 λŒ€ν•œ 인수둜 μΆ”κ°€ν–ˆκ³  이제 ts 파일의 λ³€κ²½ 사항이 μ¦‰μ‹œ μž¬κ΅¬μΆ•μ„ νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€.

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