LoginSignup
5
4

More than 5 years have passed since last update.

node.js fs.watchの動き

Last updated at Posted at 2015-09-24

動きが多少変わっていました

fs.watchの動き(windows 10, node 5.1.1)
  dir/ 監視(event, name)
  ↓
    /tmp.txt 作成
      event = rename, name = tmp.txt
      event = change, name = tmp.txt #発火しなくなった
    ↓
    /tmp.txt 編集
      event = change, name = tmp.txt
      event = change, name = tmp.txt
    ↓
    /tmp.txt 名前変更 -> tmp2.txt
    event = rename, name = null
    event = rename, name = tmp2.txt
    event = change, name = tmp2.txt #発火しなくなった
    ↓
    /dir2/ 作成
      event = rename, name = dir2
    ↓
    /dir2/ -> /dir3/
      event = rename, name = null
      event = rename, name = dir3
    ↓
    /dir2/test3.txt 作成
      event = change, name = dir2
    ↓
    /dir2/test3.txt 編集
      #イベント発火せず
    ↓
    /dir2/test3.txt -> test4.txt
      event = change, name = dir2
      #dir名変更も同様
    ↓
    /dir2/dir3/*
      #何をしてもイベント発火せず
  fs.watchの動き (windows 7で確認です・・)
    dir/ 監視(event, name)
    ↓
      /tmp.txt 作成
        event = rename, name = tmp.txt
        event = change, name = tmp.txt
      ↓
      /tmp.txt 編集
        event = change, name = tmp.txt
        event = change, name = tmp.txt
      ↓
      /tmp.txt 名前変更 -> tmp2.txt
        event = rename, name = null
        event = rename, name = tmp2.txt
        event = change, name = tmp2.txt
      ↓
      /dir2/ 作成
        event = rename, name = dir2
      ↓
      /dir2/ -> /dir3/
        event = rename, name = null
        event = rename, name = dir3
      ↓
      /dir2/test3.txt 作成
        event = change, name = dir2
      ↓
      /dir2/test3.txt 編集
        #イベント発火せず
      ↓
      /dir2/test3.txt -> test4.txt
        event = change, name = dir2
        #dir名変更も同様
      ↓
      /dir2/dir3/*
        #何をしてもイベント発火せず
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4