我想要社区的意见和观点。
我正在开发一个包含多个模块的大型应用程序,它是一个基于内容的网站,需要许多独特的UI功能。
我喜欢使用SASS和咖啡脚本,但我想要你的意见的原因是,我们需要编译资产,在我的Core-i3机器上需要15-20分钟。由于我们正在使用bootstrap
和compass-rails
。
我的问题是,使用Asset管道是否正确,我们必须处理庞大的CSS以及我们在UI / CSS中不断更新的地方。因为每次css更改我们都会进行实时更新,我们必须编译资产并花费很长时间。
我们使用普通的Rails 3样式和脚本功能来避免这样一个巨大项目的资产管道的复杂性是不可行的。或者我们可以通过哪些方式降低其复杂性并减少编译时间。
请详细提供您的意见,以便在决定资产管道之前将此问题/答案服务器作为其他人的指南。
答案 0 :(得分:2)
我看到你有三个选择:
这种方法可能最容易采用配置方式:您可以禁用资产管道并退回以继续直接在CSS + Javascript中开发。就个人而言,我认为Coffeescript和SCSS是巨大的生产收益,这使我的生活更轻松,所以我不会采取这种方式。但这是一种可能性。
要禁用资产管道,您需要设置以下配置选项:
#application.rb
config.assets.enabled = false
从gemfile中删除资产组中的gem:
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
通常不推荐,但也可以选择:根据您的服务器负载和用户数量,可以在启用资产管道的情况下运行生产中的应用程序。这种方法的缺点当然是服务器必须在每次请求时重新编译资产。
与开发人员的时间成本相比,计算机确实非常便宜,所以如果可能的话,我会建议使用固态硬盘来获得更好的机器。不仅可以节省时间,而且在运行测试套件或编译资产时,IO密集型操作也会大大减少。