新手问题 rails 6 webpacker 慢的要死

canonpd · June 25, 2019 · Last by SpiderEvgn replied at August 05, 2019 · 3492 hits

rails 6 一出来就第一时间将项目升级了。公司项目现在使用的是 6.0.0.rc1 版本。6 最大的区别,就是改用了 webpacker

用了这个,虽然 yarn 装包方便了。但这个玩意,每次改个 js 代码,刷新 2~3 秒才出来。这么慢,咋玩?严重影响开发体验,我的机器配置也不差,开发怎么都够了。

就这玩意,死慢死慢的。。。

平常开发,自己用 webapck 写 vue、react,也没有这么慢啊。

请教下各位,你们用 webpacker 这玩意的时候,不觉得慢吗?有没有好的解决方法,还是只能忍受?

把 hrm 打开,然后使用./bin/webpack-dev-server 呢?

开 webpack-dev-server。

Reply to Rei

不错不错,秒刷了。

原来官方文档有,查到了。

感谢,节省大量开发时间了。以前写完 js,我简直要泡杯茶,回来再看它编译完了没有。。。

Reply to monsterooo

3Q 成功了

Reply to canonpd

不客气,hrm 开启可以参考一下之前我发的这个 https://ruby-china.org/topics/38631

Reply to Rei

我开发环境用的 docker,单独起了一个 container 用来跑 /bin/webpack-dev-server,每次更新 js 都需要 compile 三十几秒。笔记本是 18 年 顶配的 Mac Pro 性能应该没问题,请问有什么解法吗?

Reply to SpiderEvgn

如果每次修改都要 30 秒可能 dev server 没生效,web 进程需要知道 webpack-dev-server 存在才会将编译交给 dev server,在 docker 下要额外配置。

可以参考这里 https://github.com/getcampo/campo/blob/master/docker-compose.yml

启动 30 秒是 volumn IO 性能低下的问题,我用 docker-sync 解决。https://github.com/EugenMayer/docker-sync

Reply to Rei

受教了,多谢~

Reply to SpiderEvgn

即使 webpack-dev-server 配置正确了,受 IO 影响还是很慢的,需要使用 docker-sync。

我这两天玩 docker 也碰到问题了。

在 docker 中运行,views 500 多 ms。加载页面慢的要死了

同一个项目,同一个页面,在本机中直接运行,只有 90ms 多了。

不知道是不是也是这个问题导致的?我先照着你的配置参考处理下试试看

Reply to canonpd

我也是这样,正在尝试 docker-sync

Reply to SpiderEvgn

Docker 搞得我玩的怀疑人生,这么慢,完全没有实用价值了。他们说是 Mac 的坑,我也搞不清楚

14 Floor has deleted

Mac 的确背了锅,因为文件系统不同。Docer for Mac 用的是 osxfs 共享文件系统,osxfs 在做 Mac 到 Linux 的文件同步的时候因为文件系统的各种差异导致速度非常慢(这也是为什么在 Linux 上跑 docker 速度就快很多的原因),具体详见官方介绍。简单来说,docker-sync 就是通过一系列手段(主要是 Unison)优化了 Mac 的 fs 到 Linux 的 fs 的文件同步。docker-sync 的使用还是比较简单的,安装 gem,配置 yml,然后 docker-sync start 就可以了,建议 Mac 用户们直接拿来用。(个人看法,欢迎指正)

16 Floor has deleted
You need to Sign in before reply, if you don't have an account, please Sign up first.