通过安装在默认的Rails应用程序rails new具有config.assets.compile = false生产.
通常的做法是rake assets:precompile在部署应用程序之前运行,以确保编译所有资产管道资产.
那么如果我config.assets.compile = true投入生产会发生什么?
我precompile不再需要跑步了.我认为会发生的是第一次请求资产时,它将被编译.这将是第一次出现性能损失(这意味着您通常需要在生产中使用js运行时才能执行此操作).但除了这些缺点之外,在资产被懒散编译之后,我认为对该资产的所有后续访问都不会受到性能影响,应用程序的性能将与初始首次命中的懒惰编译之后的预编译资产完全相同.这是真的?
有什么我想念的吗?没有投入config.assets.compile = true生产的其他原因?如果我在生产中有一个JS运行时,并且愿意为首次访问资产而采取降级性能的权衡,作为不必运行的回报precompile,这是否有意义?
我想知道是否有人可以帮助我.我的引导下拉菜单突然停止工作.我不知道为什么.它以前工作.我没有触摸我的观点我的布局视图所以我认为问题不存在.我很确定它与我的javascript有关,但我不知道它来自哪里.
我的宝石文件是......
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.1'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.5'
gem 'devise'
gem 'carrierwave'
gem 'rmagick'
gem 'delayed_job_active_record'
gem 'daemons'
gem 'make_voteable'
gem 'admin_data'
gem 'indextank'
Run Code Online (Sandbox Code Playgroud)
我的application.js是......
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require bootstrap-dropdown
//= require bootstrap
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
我猜也许它与我的配置文件有某种关系?
我下载了Twitter的bootstrap的准系统示例并对其进行了定制.我在本地进行了测试(使用WAMP服务器),一切都运行良好,包括CSS和JScript.
我将文件上传到我的虚拟主机服务,JScript无法正常工作.我注意到了,因为下拉框停止工作.
我搜索并发现其他人有同样的问题,但他们都使用红宝石,我不是.只是bootstrap提供的CSS + JScript游戏.除此之外他们说解决方案是先包含bootstrap.js然后再包含jquery.js.好吧,我尝试了它,它没有用,我甚至包括没有缩小的.js,但它仍然无法正常工作.
我使用相同的浏览器(Chrome)进行本地和远程测试.我也尝试过不同的托管服务,两者都出现了问题.
非常感谢帮助.
其他类似的问题:
javascript jquery css-frameworks web-deployment twitter-bootstrap
我正在使用seyhunak的gem开发一个带有Twitter Bootstrap的3.1 Rails应用程序.
在生产模式下,我能够通过管道预编译使用基本的bootstrap CSS和JS:
RAILS_ENV=production bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
使用gem文件:
group :assets do
gem 'sass-rails', '~> 3.1.5'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
gem "twitter-bootstrap-rails"
end
Run Code Online (Sandbox Code Playgroud)
和application.js文件:
//= require_tree .
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require bootstrap-tab
//= require bootstrap-modal
//= require bootstrap-dropdown
//= require bootstrap-popover
Run Code Online (Sandbox Code Playgroud)
该应用程序工作正常,除了模态和下拉列表等引导插件.这些插件作为供应商资产目录中存在的静态JavaScript库存在:
/vendor/assets/javascripts/bootstrap-dropdown.js
...
Run Code Online (Sandbox Code Playgroud)
我不确定这些文件是否正在预编译,我怎么能设法这样做?
ruby-on-rails jquery-plugins ruby-on-rails-3.1 asset-pipeline twitter-bootstrap