在容器中wepack和nodemon熱加載失效的問題

前言

這幾天打算給本身寫的generator加上docker,可是卻出現了個奇怪的問題,就是我在本地中webpackndoemon的熱加載是能正常使用的,可是在docker容器中這二者卻不法使用,並且本地代碼更新後是正常同步過去的。node

解決方法

在熱心網友n͛i͛g͛h͛t͛i͛r͛e͛segmentfault提問)的幫助下,終於找到了問題的解決方法。其實在stackoverflowgithub issues上已經討論過這個問題並已經有解決方法了,no automatic restart when using boot2docker docker volumeDocker 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使用的是兩種不一樣的文件系統,因此當本地代碼發生變化後,不會去觸發vboxsfinotify,因此使得webpacknodemon的監聽失效,而採用poll輪訓的方式就解決的這個問題。webpack-dev-server

相關文章
相關標籤/搜索