繁体   English   中英

为什么Docker中的Angular应用的Live Reload速度慢?

[英]Why is Live Reload Slow for Angular app in Docker?

我正在Docker映像内运行Angular前端的Rails后端。 主机正在运行OSX。

当我运行docker-compose up --build时,服务正常运行docker-compose up --build但是对前端文件的任何更改都将花费近一个小时来触发热重装。

如果我在ng容器( ng build --aot )的bash会话中手动运行构建过程,则大约需要2分钟。 不是最佳选择,但比一个小时要好。 作为热重装的一部分,同一构建过程花费的时间更长。 我不知道为什么。

我尝试了此处提到的解决方案,关于为webpack热重装打开端口并在docker docker-compose.yml添加端口号,但是我发现行为没有区别。

Rails部分工作正常。 几乎在容器中立即注意到更改文件。

但是,对于ng容器而言,事情并不那么轻松。 我的Docker映像中不包含node_modules目录,因此在Docker构建时,它将在映像中填充其自己的node_modules目录。 这意味着将主机上的节点模块与映像中的内容同步没有问题。

我做了一些研究,它看起来像有运行选ng eject ,这将使我定制的WebPack配置。 关于修改配置以加快速度有一些建议,例如this 但是,鉴于ng 6不支持弹出选项,所以我宁愿不走这条路。

关于如何加快此ng应用程序的编译时间的任何想法吗?

这个评论对AngularCLI问题“NG发球没有检测到文件的更改”解决了问题。

更新tsconfig.json文件,使其自动排除极大加速webpack的node_modules目录。

我仍然很好奇为什么这是Debian Jessie上的问题,而不是OSX上的问题。 如果有人知道原因,我全神贯注。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM