4

我目前正在开发一个包含大量 javascript 代码的应用程序。我在每个页面/部分上编写内联 javascript 代码,但是大部分代码都在其他地方重新使用。我试图想办法将这些小脚本重构为更方便和可维护的东西。我使用的是 jQuery,所以我没有使用任何内置的 JS 生成器。

到目前为止,我想到了以下几点:

  • 只需将所有内容移入application.js并从新的 UJS 样式助手中受益。这仅比我现在拥有的好一点,因为我最终会得到一个又大又笨重的 JS 文件。

  • 使用js_erb gem,它提供了一种将 javascript 源代码写入app/javascripts并自动获取 i18n、HTML 模板和编译的方法。

  • 使用sprockets-rails这似乎也是一个不错的选择,即使我从未尝试过,而且我不确定它是否与 rails3 兼容。

您对此类主题有任何经验/建议吗?

4

3 回答 3

1

Sprockets 2.0目前正处于非常活跃的开发阶段,并将作为 ActionPack 的一部分与 Rails 3.1 一起提供。最简单的做法是等待 Rails 3.1 或通过将 Gemfile 指向它来升级到最新的 Rails 3.1.0.rc4:

gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v3.1.0.rc4'

bundle install

与此同时,现在就开始了解它的工作原理:

于 2011-07-08T06:39:21.710 回答
0

我个人将 javascript 代码分组到有意义的文件中,然后将它们包含在需要它的页面上。例如,如果您有一些在大多数页面上调用的代码,那么我会将其包含在 application.js 中。但是,如果我的代码仅包含在我的用户控制器页面中,那么我将创建一个 user.js 文件并仅将其包含在这些页面中。通过这样做,代码以易于维护的方式组织。可能会有一些性能权衡,但在我的情况下,可维护性更重要。

于 2010-11-25T23:41:48.827 回答
0

我将 JS 代码分组到文件中,与部分代码分开

  1. 部分可以缓存,JS更新不需要删除html缓存
  2. 更好的代码组织,随着功能变得复杂,它会更容易管理和优化
  3. 随着时间的推移,JS 的规模会越来越大,您可以使用 CDN 来交付您的 JS,这对于页面加载时间来说是一个很好的性能提升器
于 2011-02-24T04:40:34.373 回答