插件-如何在Rails 4中加载供应商资产文件夹?

我有一个具有多种文件类型的插件,并且具有自己的树结构(html,css,js,文档,图像等)

我不想遍历plugin文件夹,而是将所有的css和js文件拆分到application.css.scss vendor/assets/css/文件夹中,而是只保留整个plugin文件夹。 例如,

application.css.scss

如何确保路径正确加载,并在清单文件中引用它们?

目前,我有一些文件放置如下(不详尽)

/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css
/my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
/my_app/vendor/assets/multipurpose_bookshelf_slider/
/my_app/vendor/assets/multipurpose_bookshelf_slider/

我在引用他们

application.css.scss

//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
//= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js

application.css.scss

@import "css/bookshelf_slider";
@import "css/skin01";
3个解决方案
87 votes

直接在rails c下创建的任何文件夹都将添加到加载路径。 可以照常引用该文件夹中的文件,如下所示:

如果你有

  • rails c

  • rails c

然后将rails c添加到加载路径。

通过执行以下操作,将文件包括在以下文件中:

application.js

rails c

application.css.scss

rails c

完成此操作后,请确保重新启动本地服务器,因为启动服务器后才能识别负载路径。

注意:要查看加载路径列表,请在终端上输入rails c,然后输入Rails.application.config.assets.paths

ahnbizcad answered 2020-06-27T12:08:10Z
4 votes

如果您正在运行的应用程序已激活资产管道,则应在扩展应用程序中的路径后找到资产。rb

config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
D7na answered 2020-06-27T12:08:30Z
3 votes

我更喜欢D7na的答案,但我认为它有所改进。

只要这与资产有关,我认为最好将其放在assets.rb文件中。

assets.rb:

Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
Ayman Salah answered 2020-06-27T12:08:58Z
translate from https://stackoverflow.com:/questions/25983283/how-to-load-vendor-asset-folder-in-rails-4