gpt4 book ai didi

ruby - 管理大量 javascript/css (RAILS 3)

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:40 25 4
gpt4 key购买 nike

如您所知,我有大量样式表/javascript(其中一个样式表是动态的,无法缓存到 all.css 中)

显然,在某些情况下我只需要一些样式表,但这对于缓存到一个样式表中并不是一个好兆头。最好的方法是什么? (例如,我不需要报告样式表或图表,除非我正在处理需要图表的特定报告)

  <%= stylesheet_link_tag ['autocomplete.css', 'datepicker.css', 'web.css', 'common.css', 'home.css', 'course.css', 'admin.css'], :cache => true %>
<%= stylesheet_link_tag [@current_client.name.downcase + '/' + @current_client.name.downcase + '.css'], :cache => false %>
<%= javascript_include_tag ['jquery.js', 'class.js', 'jquery.extensions.js','nested_form.js','jquery.tablednd.js','jquery.autocomplete.js', 'date.js', 'datepicker.js', 'rails.js', 'common.js', 'navigation.js', 'patient_autocomplete.js', 'courses/course_request.js', 'course_steps/sort_course_steps.js', 'course_steps/next_step.js', 'enrollments/complete_course.js', 'flowplayer/flowplayer.js', 'flowplayer/playlist.js', 'course_steps/video.js', 'course_steps/presentation.js', 'highcharts.js', 'reports/course_assignment.js', 'reports/courses_allocated.js', 'reports/pie_chart.js'], :cache => true %>

最佳答案

使用 Jammit 将所有页面共有的内容打包到单个样式表和 Javascript 中或其他一些串联文件,并将其放在您的主布局中;然后在您的布局中也添加一些 yield (如下所示)。然后在您的相关 View 中使用 content_for block (或助手)添加您需要的内容。

# app/views/application.html.erb
<%= javascript_include_tag 'all_compacted.js' %>
<%= yield :extra_js %>
<%= stylesheet_link_tag 'all_compacted.css' %>
<%= yield :extra_css %>

# random view that needs something not in all_compacted.js
<%= content_for :extra_js do %>
<%= javascript_include_tag 'highcharts.js' %>
<% end %>

还有 Javascript_auto_include插件,它将根据 Controller /操作自动加载 JS 文件,但这可能更适合每个页面上都有大量自定义 javascript 的东西(这种情况非常熟悉)。

它可能也值得一试 head.js , 进行 javascript 的非阻塞加载。

关于ruby - 管理大量 javascript/css (RAILS 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com