這幾天打算給本身寫的generator
加上docker
,可是卻出現了個奇怪的問題,就是我在本地中webpack
和ndoemon
的熱加載是能正常使用的,可是在docker
容器中這二者卻不法使用,並且本地代碼更新後是正常同步過去的。node
在熱心網友n͛i͛g͛h͛t͛i͛r͛e͛
(segmentfault提問)的幫助下,終於找到了問題的解決方法。其實在stackoverflow
和github issues
上已經討論過這個問題並已經有解決方法了,no automatic restart when using boot2docker docker volume,Docker supportwebpack
webpack解決方法git
在webpack.conf.js
中寫入github
watchOptions: { aggregateTimeout: 300, poll: 1000 }
告訴webpack
採用poll
的方式監聽代碼,每1000毫秒檢測一次代碼有沒有發生變化web
nodemon解決方法docker
在CLI
啓動時候加上參數--legacy-watch
或-L
(簡寫),即nodemon -L xxx.js
,-L
表示的是採用poll
的方式監聽代碼變化。segmentfault
形成這樣的緣由是本地和container
使用的是兩種不一樣的文件系統,因此當本地代碼發生變化後,不會去觸發vboxsf
的inotify
,因此使得webpack
和nodemon
的監聽失效,而採用poll
輪訓的方式就解決的這個問題。webpack-dev-server