Rails Rails 4.2 开发环境下一旦修改 scss 内容,刷新到显示页面需要两秒?

linjunzhugg · 2015年04月30日 · 最后由 sandect 回复于 2015年05月09日 · 2959 次阅读

Rails4.2 开发环境 Mac OSX 10.9

一旦修改 scss 内容,刷新到显示页面需要两秒?

.home {
  background-color: red;
}

项目是新建的,就只有这么一个 homes.scss 有内容,一旦修改,刷新到完整显示页面需要两秒以上?

已经关闭

config.assets.digest = false

其中用到的 gem 有:

gem 'sass-rails', '~> 5.0'
gem "compass-rails", github: "Compass/compass-rails", branch: "master"
gem 'nprogress-rails'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
gem 'jquery-turbolinks'
gem 'bootstrap-sass', '~> 3.3.4'

之后发现,当去掉bootstrap时便飞速了.....

@import "bootstrap-sprockets";
@import "bootstrap";

或者将application.scss修改为application.css,不过这相当于没用到bootstrap

有什么方法避免?

有用虚拟机环境吗?

@rei 已经更新问题~请指教~~

楼主的问题,我也在 windows 下碰到过。

config.assets.debug = false

#5 楼 @42thcoder 这个也已经关了,跟这个没关系。

试了几下,原因出在

@import "bootstrap-sprockets";
@import "bootstrap";

不知如何解决,纳闷。

#6 楼 @linjunzhugg 在 assets/stylesheets 下新建一个 bootstrap.scss,内容就是那两行 import 专门用于载入 bootstrap

我觉得你可以先来个 production 版本的试试

看载入是否正常

如果正常,基本确定就是 sass 编译过慢了

我的用法差不多,正常状况不会这么慢。可能的问题是文件系统太慢(虚拟机共享目录),编译缓存失效(gem 的 bug),其它未知问题。

所以先升级相关 gem 到最新版,删除 tmp 下的内容看看。

#7 楼 @wuwx 不知这样做的用意何在?新建新的 scss,然后再 import, 跟在 application 导入应该没有任何区别才对?

而且这样子做的后果还会报:double import itself 的错误。因为文件名也是 bootstrap.scss,然后 @import "bootstrap"

不过还是尝试了下: 改了文件名 bootstrap_second.scss,最终效果一样,还是很缓慢

#8 楼 @jicheng1014 我已经控制 development 和 production 的预编译等 为同样配置了。

虽然如此,我还是尝试了你的建议,不过无效。:)

#11 楼 @linjunzhugg 然后别在 application 里导入,在 html 里引用,这样他们就是 2 个 CSS 了

建议直接下载bootstrap.css使用。

也遇到这样的问题,引入 compass 后每次要等几秒钟,用sassc-rails替换 sass-rails 后,1s 以内

需要 登录 后方可回复, 如果你还没有账号请 注册新账号