Javascript Rails何时编译CoffeeScript?

Javascript Rails何时编译CoffeeScript?,javascript,ruby-on-rails,ruby-on-rails-3,coffeescript,Javascript,Ruby On Rails,Ruby On Rails 3,Coffeescript,Rails何时将Coffeescript资源编译为JavaScript?它是按需执行还是在启动时执行?当向包含CoffeeScript资源的视图发出请求时,CoffeeScript会按需编译为JavaScript 但是,您可以使用以下方法提前将CoffeeScript编译为JavaScript: rake assets:precompile 有关Rails资源管道的更多信息,请参见本文 从链接: 资产上使用的文件扩展名决定了 应用预处理。生成控制器或脚手架时 使用默认的Rails gemset

Rails何时将Coffeescript资源编译为JavaScript?它是按需执行还是在启动时执行?

当向包含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脚本和sass rails gems提供,然后返回 分别以JavaScript和CSS的形式发送到浏览器

在服务器之后的第一个请求上编译和缓存资产 开始了。链轮设置必须重新验证缓存控制HTTP标头 要减少后续请求的请求开销,请在 浏览器获得304(未修改)响应

如果清单中的任何文件在请求之间发生了更改,则 服务器用一个新的编译文件进行响应

Rails附带了一个rake任务来编译资产清单 以及管道中的其他文件到磁盘

已编译的资产将写入中指定的位置 config.assets.prefix。默认设置将使用公共/资产 目录

您必须在部署期间或在本地(如果需要)使用此任务 没有对生产文件系统的写访问权限

rake任务是:

bundle exec rake资产:预编译

更新: 对于那些对为开发预编译资产感兴趣的人,请将RAILS_ENV变量设置为development first(from):


这都是关于生产环境的,对吗?那么开发环境呢?更新以解决开发环境问题。
RAILS_ENV=development bundle exec rake assets:precompile