2014-10-04 60 views
0

我只是想弄清楚在Rails中管理插件的資產的最佳方式是什麼。例如: 我們來考慮Bootstrap。在Rails中管理插件的資產

我知道有「供應商」目錄爲,但即使有

我喜歡讓下面的目錄結構:

App 
|-- assets 
| |-- plugins 
| | |-- bootstrap 
| | | |-- fonts 
| | | |-- css 
| | | | |-- bootstrap.css 
| | | | |-- bootstrap.min.css 
| | | |-- js 
| | | | |-- bootstrap.js 
| | | | |-- bootstrap.min.js 

我不騙按照下面的目錄結構:

App 
|-- assets 
| |-- fonts 
| |-- css 
| | |-- application.css 
| | |-- bootstrap.css 
| | |-- bootstrap.min.css 
| | |-- common-style.css 
| |-- js 
| | |-- application.js 
| | |-- bootstrap.js 
| | |-- bootstrap.min.js 
| | |-- common-script.css 

正如您在上面注意到的那樣,現在如果您開始添加插件,文件將進入常規文件夾,而不是將所有資產相對於插件保持在一起。如果不分組,它會看起來凌亂,不是嗎?

我知道有「供應商」目錄甚至還有我喜歡讓下面的目錄結構:

|-- App 
|-- vendor 
| |-- assets 
| | |-- javascripts 
| | |-- stylesheets 
| |-- bootstrap 
| | |-- fonts 
| | |-- css 
| | | |-- bootstrap.css 
| | | |-- bootstrap.min.css 
| | |-- js 
| | | |-- bootstrap.js 
| | | |-- bootstrap.min.js 

我不喜歡遵循以下的目錄結構:

|-- App 
|-- vendor 
| |-- fonts 
| |-- assets 
| |-- stylesheets 
| | |-- bootstrap.css 
| | |-- bootstrap.min.css 
| | |-- iCheck.css 
| |-- javascripts 
| | |-- bootstrap.js 
| | |-- bootstrap.min.js 
| | |-- iCheck.js 

回答

1

Rails有用於添加第三方資產的特殊目錄。它叫做供應商。在它下面你會發現vendor/assets,其中包含javascripts樣式表子目錄。所以用這個代替app/assets。後者是你應該保存自己的文件的地方。

如果您使用的是Bootstrap之類的東西,並且這對大多數插件都是正確的,那麼它就更容易了。大多數框架都打包成了寶石。這意味着您不必擔心手動添加資產文件,因爲資產管道可以爲您處理所有這些。最多隻需將文件包含在清單中。

一個JavaScript文件中的application.js,例如:

//= require jquery 

如果你想走得更遠了一步,並執行自己的目錄結構,你將不得不改變Rails的配置:

config.assets.precompile += %w(vendor/custom_dir/*.jpg) 
config.assets.precompile += %w(vendor/custom_dir/*.js) 

你可以閱讀更多有關這對Rails guides

你可能還會發現this issue很有幫助。

+0

我已經稍微簡單地解釋了它甚至應該如何查看「供應商」目錄。 – Syed 2014-10-04 12:44:59

+0

在這種情況下,您需要更改Rails配置。我更新了我的答案。 – Mohamad 2014-10-04 14:01:25