首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails什么时候编译CoffeeScript?

Rails什么时候编译CoffeeScript?
EN

Stack Overflow用户
提问于 2011-11-17 14:27:53
回答 1查看 8K关注 0票数 18

Rails什么时候将Coffeescript资源编译成JavaScript?它是随需应变还是在启动时发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-17 14:42:55

当向包含CoffeeScript资源的视图发出请求时,CoffeeScript会按需编译为JavaScript。

但是,您可以使用以下命令提前将CoffeeScript编译为JavaScript:

代码语言:javascript
复制
rake assets:precompile

有关Rails资产管道的更多信息,请参阅此link

从链接:

资源上使用的文件扩展名确定要应用的预处理。当使用默认的Rails gemset生成控制器或scaffold时,将生成CoffeeScript文件和SCSS文件,以替换常规的JavaScript和CSS文件。前面使用的示例是一个名为“projects”的控制器,它生成了一个app/assets/javascripts/projects.js咖啡和一个app/assets/stylesheets/projects.css.scss文件。

当请求这些文件时,它们由CSS script和sass-rails gem提供的处理器处理,然后分别以JavaScript和CSS的形式发送回浏览器。

..。

服务器启动后,

资产在第一次请求时被编译和缓存。链轮设置了一个必须重新验证的Cache-Control HTTP头,以减少后续请求的请求开销-在这些请求上,浏览器会得到304 (未修改)响应。

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

..。

Rails与一个rake任务捆绑在一起,用于将资产清单和其他文件编译到磁盘的管道中。

编译后的资源将写入config.assets.prefix中指定的位置。默认设置将使用public/assets目录。

您必须在部署期间使用此任务,如果您对生产文件系统没有写入访问权限,则必须在本地使用此任务。

rake任务是:

软件包exec rake资源:预编译

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

代码语言:javascript
复制
RAILS_ENV=development bundle exec rake assets:precompile
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8162998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档