【发布时间】:2023-03-13 23:32:01
【问题描述】:
我已经完成了我的项目,而且看起来工作正常。
但是,我刚刚发现还有更多与优化有关的事情。
Google 的 PageSpeed Insight 刚刚告诉我
我必须Remove Render-Blocking JavaScripts、Optimize CSS Delivery 和Leverage Browser Caching
关于 Remove Render-Blocking JavaScripts 和 Leverage Browser Caching,它说我必须使用我的 Assets Javascripts。
他们目前在视图中是这样表述的
<%= javascript_include_tag 'application.js' %>
<%= javascript_include_tag 'illuminate.js' %>
<%= javascript_include_tag 'bootstrapSwitch.js' %>
<%= javascript_include_tag 'bootstrap.js.coffee' %>
<%= javascript_include_tag 'rails.js' %>
它的html输出是这样的
<script src="/assets/application-21cb698a1b325807d74e3f5588e.js" type="text/javascript"></script>
<script src="/assets/illuminate-1a2b0535b4a3f7468aec74882e25f3.js" type="text/javascript"></script>
<script src="/assets/bootstrapSwitch-ae37e5eb28f943501b59b08ac6234.js" type="text/javascript"></script>
<script src="/assets/bootstrap-1b52926900736585a26c3fe0975f73.js" type="text/javascript"></script>
<script src="/assets/rails-e46b066113d4a1ff96120b8493021d9.js" type="text/javascript"></script>
如何更改此内容以更改此内容以便存档?
关于Optimize CSS Delivery,上面说我要优化这些
<%= stylesheet_link_tag "application","http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css" %>
<%= stylesheet_link_tag 'bootstrapSwitch' %>
这是它的 html 输出
<link href="/assets/application-e8a61afef574ba15cb71a3730d2b6b8e.css" media="screen" rel="stylesheet" type="text/css" />
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrapSwitch-b3ea2e51b3529f79637f5a8a9ef54712.css" media="screen" rel="stylesheet" type="text/css" />
如何修改所有这些?
【问题讨论】:
-
有什么理由在 HTML 中列出资产而不是通过资产管道连接它们?
-
@depa 抱歉,这是我知道的唯一方法。这是唯一的原因。我应该将所有 js 文件连接到一个 js 中吗?
-
我真的认为你应该经历这个。 guides.rubyonrails.org/asset_pipeline.html
-
那个,加上将 javascript 包含行移动到
</body>标记的底部。
标签: ruby-on-rails ruby-on-rails-3 asset-pipeline