2010-01-19 98 views
1

我使用的功能,用于缓存多个JavaScript文件合并成一个:如何手动创建all.js?

<%= javascript_include_tag :all, :cache => true %> 

我的理解是这样的方式创建all.js利用它生成的文件第一次的HTML文件。

但是,如果应用程序配置为在不提供HTML的单独服务器上使用资产主机,则不会创建该文件。有没有办法在部署时手动生成all.js?

回答

3

您需要配置您的部署任务以压缩和创建文件。 如果使用Capistrano,则需要执行部署时执行的代码you can add a callbac

否则,这是一些替代品,也提供了一个更有效的解决方案。标准的Rails策略只将所有文件合并成一个文件。但是,通过压缩和缩小最终结果,您可以获得额外的好处。欲了解更多信息,你可以阅读GitHub asset deployment strategyJammit documentation

+0

阅读完不同的资料后,我可以创建一个capistrano任务,创建一个与on Rails创建相同的文件。运行“deploy:update_code”---运行“cd#{release_path}/public/javascripts && sed -s'$ G'$(find。-name'* .js'!-name all * | sort -r) | sed'$ d'> all.js && gtouch all.js -r $(gls -t1 --hide = all * | head -n1)“ – 2010-02-04 10:40:38

0

为JavaScript串联一项伟大的工程是链轮,它可以在这里找到:http://getsprockets.org/

这真的很容易安装和使用Capistrano的整合。也许值得一瞧。