我只想弄清楚在Rails中管理插件资产的最佳方法是什么。 对于Eg。我们来考虑一下Bootstrap。
我知道有“供应商”目录,但即便如此
我喜欢保持目录结构:
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
答案 0 :(得分:1)
Rails有一个用于添加第三方资产的特殊目录。它被称为供应商。在其下方,您会找到vendor/assets
,其中包含 javascripts 和 stylesheets 子目录。因此,请使用它代替app/assets
。后者是你应该保存自己文件的地方。
如果您正在使用像Bootstrap这样的东西,这对大多数插件来说都是正确的,那么它就更容易了。大多数框架都打包成宝石。这意味着您不必担心手动添加资产文件,因为Asset Pipeline会为您处理所有这些。最多只需将文件包含在清单中即可。
application.js中的JavaScript文件,例如:
//= require jquery
如果您想更进一步并强制执行自己的目录结构,则必须更改Rails'配置:
config.assets.precompile += %w(vendor/custom_dir/*.jpg)
config.assets.precompile += %w(vendor/custom_dir/*.js)
您可以在Rails guides
上详细了解相关信息您可能还会发现this issue有帮助。