我正在开发一个网页,其内容完全由客户端
JavaScript生成. index.html的唯一目的是引用JavaScript和CSS文档,这些文档是使用Rails的资产管道生成的.为了避免额外的请求,我想在生产中内联这些JavaScript和CSS.
解决方法
您可以使用Rails.application.assets在预编译后获取资产的内容.在index.html.erb中添加:
<style type="text/css"> <%= raw Rails.application.assets['application.css'].to_s %> </style> <script type="text/javascript"> <%= raw Rails.application.assets['application.js'].to_s %> </script>
不要忘记原始,否则“将被改为& quot;等.
注意这不是压缩的;对于生产,您可能希望内联压缩代码.为此,请将gem’ugllifier’添加到Gemfile中,运行bundle,然后使用:
<%= raw Uglifier.new(:copyright => false).compile Rails.application.assets['application.js'].to_s %>