ale*_*333 18 javascript ruby-on-rails coffeescript ruby-on-rails-3
Rails何时将Coffeescript资源编译为JavaScript?是按需还是在启动时发生?
Mat*_*lse 24
当向包含CoffeeScript资源的视图发出请求时,CoffeeScript会根据需要编译JavaScript.
但是,您可以使用以下方法将CoffeeScript提前编译为JavaScript:
rake assets:precompile
有关Rails资产管道的更多信息,请参阅此链接.
从链接:
资产上使用的文件扩展名确定应用了哪些预处理.使用默认的Rails gemset生成控制器或脚手架时,将生成CoffeeScript文件和SCSS文件来代替常规JavaScript和CSS文件.之前使用的示例是名为"projects"的控制器,它生成app/assets/javascripts/projects.js.coffee和app/assets/stylesheets/projects.css.scss文件.
当请求这些文件时,它们由coffee-script和sass-rails gems提供的处理器处理,然后分别作为JavaScript和CSS发送回浏览器.
...
在服务器启动后,在第一个请求上编译和缓存资产.Sprockets设置必须重新生效的Cache-Control HTTP头,以减少后续请求的请求开销 - 在这些请求上,浏览器获得304(未修改)响应.
如果清单中的任何文件在请求之间发生了更改,则服务器将使用新的编译文件进行响应.
...
Rails捆绑了一个rake任务,用于将资产清单和管道中的其他文件编译到磁盘.
编译资产将写入config.assets.prefix中指定的位置.默认设置将使用public/assets目录.
如果您没有对生产文件系统的写入权限,则必须在部署期间或本地使用此任务.
rake任务是:
捆绑exec rake资产:预编译
更新:对于那些对预编译资产进行开发感兴趣的人,首先将RAILS_ENV变量设置为开发(从此处开始):
RAILS_ENV=development bundle exec rake assets:precompile
| 归档时间: | 
 | 
| 查看次数: | 7583 次 | 
| 最近记录: |