ruby-on-rails - 我应该将所有页面级别的 js 添加到 assets.rb 吗?
问题描述
我正在尝试为 Rails 应用程序实现简单的 HTML 模板。里面用到了很多JS文件。
我将所有 JS 引用转换为 Rails javascript_include_tag
,它总是要求我将它们添加到assets.rb
文件中。这非常耗时。
我的assets.rb
文件看起来像:
Rails.application.config.assets.precompile += ['ea/*']
Rails.application.config.assets.precompile += %w( bootstrap/* )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/bootstrap-extension/css/bootstrap-extension.css
)
Rails.application.config.assets.precompile += %w(
plugins/bower_components/sidebar-nav/dist/sidebar-nav.min.css )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/morrisjs/morris.css )
Rails.application.config.assets.precompile += %w( css/* )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/jquery/dist/jquery.min.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/bootstrap-extension/js/bootstrap-extension.min.js
)
Rails.application.config.assets.precompile += %w(
plugins/bower_components/sidebar-nav/dist/sidebar-nav.min.js )
Rails.application.config.assets.precompile += %w(
js/jquery.slimscroll.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/raphael/raphael-min.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/morrisjs/morris.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/jquery-sparkline/jquery.sparkline.min.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/peity/jquery.peity.min.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/peity/jquery.peity.init.js )
Rails.application.config.assets.precompile += %w( js/waves.js )
Rails.application.config.assets.precompile += %w( js/custom.min.js )
Rails.application.config.assets.precompile += %w( js/dashboard1.js )
Rails.application.config.assets.precompile += %w(
plugins/bower_components/styleswitcher/jQuery.style.switcher.js )
有什么简单的解决方案吗?
解决方案
通常所有或大部分 js 都打包到一个 js 包中(请参阅资产管道指南),您将拥有单个javascript_include_tag('application')
和application.js
清单,例如:
//= require_directory ./ea
//= require_tree bootstrap
//= require jquery/dist/jquery.min
//= require bootstrap-extension/js/bootstrap-extension.min
//= require sidebar-nav/dist/sidebar-nav.min
//= require js/jquery.slimscroll
//= require raphael/raphael-min
//= require morrisjs/morris
//= require jquery-sparkline/jquery.sparkline.min
//= require peity/jquery.peity.min
//= require peity/jquery.peity.init
//= require js/waves
//= require js/custom.min
//= require js/dashboard1
//= require styleswitcher/jQuery.style.switcher.js
和 css 类似
推荐阅读
- python - 如何使用python更改.mat文件中的数组名称
- ruby-on-rails - 如何在rails中将参数传递给with_api_auth(access_id,secret_key)
- php-5.5 - 不应通过浏览器检查在 POST 方法上修改表单数据
- php - 当我将输入输入到数据库中的阿拉伯语存储中时,例如''??? ?? ? ????” 我如何用 sqlserver 修复它
- html - html table -- 设置列以占用剩余空间,并且至少 300px 宽度
- c# - 如何从用户那里获取输入直到他想停止使用可能是分隔符或在 c# 中使用文件流的另一种方式?
- string - 我可以破坏 []byte 和 string 之间的数据转换吗?
- sql - 如何简单地删除 SQL Server 中的重复记录?
- javafx - 如何在调整 ScrollPane 大小的同时增加 ScrollPane 包裹的 FlowPane?
- php - 我有当月的开始日期和结束日期。我想比较这两个日期之间的每个日期的数据库记录