【问题标题】:Ruby on Rails: How to organize properly JS and CSS files?Ruby on Rails:如何正确组织 JS 和 CSS 文件?
【发布时间】:2011-02-19 09:53:33
【问题描述】:
我想在我的 Rails 3 应用程序中使用 SlickGrid 插件。
我包含几个 JS 和 CSS 文件,我应该将它们包含在我的 HTML 页面中。
可以把所有需要的JS文件放在public/javascripts目录下,把所有CSS文件放在public/stylesheets目录下。但是,我不喜欢这个解决方案,因为它破坏了插件包文件的结构。
我想将所有插件文件放在一个地方(我考虑过vendor/plugins,这是一个更好的地方吗?),并从那里包含所需的文件。这可能吗?
在集成插件时包含 JS 和 CSS 文件的正确方法是什么?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-3
project-organization
file-organization
【解决方案1】:
我认为Jammit 可以帮助您完成您想做的事情。除了打包、嵌入、压缩您的资产外,它还允许您在应用程序的任何位置存储 javascript 和样式表。图像(如果未嵌入)可能是个问题。
【解决方案2】:
@rubiii 的回答也不错,但是由于 2.10.0 版本的sprockets gem 支持bower,现在集成任何 js/css 库都非常容易。版本管理和更新就像输入bower install 一样简单。 Bower可以通过nodejs安装npm install -g bower,在应用的根目录下包含.bowerrc文件,里面有内容:
{
"directory": "vendor/assets/components"
}
然后在bower.json中指定库并运行bower install
{
"name": "appName",
"version": "0.0.0",
"dependencies": {
"bootstrap": "~3.0.0",
}
}
组件安装后,像往常一样需要application.js/application.css 中的文件。例如
*= require bootstrap