在容器中wepack和nodemon热加载失效的问题
前言
这几天打算给自己写的generator
加上docker
,但是却出现了个奇怪的问题,就是我在本地中webpack
和ndoemon
的热加载是能正常使用的,但是在docker
容器中这两者却不法使用,而且本地代码更新后是正常同步过去的。
解决方法
在热心网友n͛i͛g͛h͛t͛i͛r͛e͛
(segmentfault提问)的帮助下,终于找到了问题的解决方法。其实在stackoverflow
和github issues
上已经讨论过这个问题并已经有解决方法了,no automatic restart when using boot2docker docker volume,Docker support
webpack解决方法
在webpack.conf.js
中写入
watchOptions: { aggregateTimeout: 300, poll: 1000 }
告诉webpack
采用poll
的方式监听代码,每1000毫秒检测一次代码有没有发生变化
nodemon解决方法
在CLI
启动时候加上参数--legacy-watch
或-L
(简写),即nodemon -L xxx.js
,-L
表示的是采用poll
的方式监听代码变化。
原因
造成这样的原因是本地和container
使用的是两种不同的文件系统,所以当本地代码发生变化后,不会去触发vboxsf
的inotify
,所以使得webpack
和nodemon
的监听失效,而采用poll
轮训的方式就解决的这个问题。
相关推荐
不知道该写啥QAQ 2020-11-12
webfullStack 2020-11-09
Yvettre 2020-09-15
想做大牛的蜗牛 2020-10-30
gloria0 2020-10-26
gaojie0 2020-09-11
SelinaChan 2020-08-14
不知道该写啥QAQ 2020-08-09
gloria0 2020-08-09
不知道该写啥QAQ 2020-08-02
hline 2020-07-29
SelinaChan 2020-07-28
wangdianyong 2020-07-23
webpackvuees 2020-07-23
yqoxygen 2020-07-20
不知道该写啥QAQ 2020-07-18
waterv 2020-07-18
81463166 2020-07-17