6

不确定这是否是我移动的设置,但我遇到了引导 datepicker 在我访问的项目的每个页面上加载大量本地化文件的问题,即使页面中没有任何组件使用 datepicker 元素。

我从 development.log 中得到类似的信息:

Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.ar.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.az.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.bg.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


...


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700

很多行,从 AR 到 zh-TW,顾名思义,它们是每种语言/地区的单独本地化文件。

这对我的生产服务器来说不是问题,但在开发中它真的很重要。在 Vagrant 下,在每个页面之前加载这些文件大约需要 7700 毫秒,而在 VMware 下大约需要 2300 毫秒。

我的 application.rb 只有以下内容:

config.action_controller.include_all_helpers = false

还有我的gemfile:

source 'https://rubygems.org'

gem 'rails', '4.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'haml-rails'
gem 'jquery-turbolinks'
gem 'jquery-datatables-rails', git: 'https://github.com/rweng/jquery-datatables-rails.git'
gem 'jquery-ui-rails'
gem 'highcharts-rails'
gem 'rack-mini-profiler'
gem 'devise'
gem 'highstock-rails'
gem 'yaml_db', github: 'jetthoughts/yaml_db', ref: 'fb4b6bd7e12de3cffa93e0a298a1e5253d7e92ba'
gem 'hirb'

gem 'therubyracer'
gem 'less-rails'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git', :branch => 'bootstrap3'

gem 'bootstrap-datepicker-rails', :require => 'bootstrap-datepicker-rails', :git => 'git://github.com/Nerian/bootstrap-datepicker-rails.git'

group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'mysql2'
end

任何线索可能是什么问题?

4

1 回答 1

13

找到了解决方案。我只需要缩小从 datepicker javascript 加载的内容,因为默认情况下,它会加载所有内容。

通常我的application.js中有这样的东西:

//= require bootstrap-datepicker

我所要做的就是将其更改为:

//= require bootstrap-datepicker/core

这个不会加载所有的本地化文件,而只会加载默认的英语文件。

于 2014-07-30T00:00:17.150 回答