为什么链轮在我的供应商文件夹中找不到资产,即使它在加载路径中?

问题描述 投票:1回答:2

这是我试图包含在我的application.scss中的文件和文件夹:

$ ls
jquery.nouislider.css
$ pwd
myapp/vendor/assets/stylesheets/inspinia/plugins/nouslider

我这样包括它:

@import "inspinia/plugins/nouslider/*";

这是我得到的错误:

Sprockets::FileNotFound - couldn't find file '/app/assets/stylesheets/inspinia/plugins/nouslider'
Checked in these paths: 
  /app/assets/config
  /app/assets/fonts
  /app/assets/images
  /app/assets/javascripts
  /app/assets/stylesheets
  /vendor/assets/javascripts
  /vendor/assets/stylesheets

如何在不抛出错误的情况下正确包含此文件夹?

编辑1

有什么奇怪的是我有这两个文件:

$ ls
animate.css patterns    plugins     style.css
$ pwd
/vendor/assets/stylesheets/inspinia

我成功地将它包括在内:

 @import "inspinia/style";
 @import "inspinia/animate";

所以不确定为什么以上不起作用。

编辑2

我终于搞定了,有点儿。

我做的是将我想要的文件移动到/inspinia文件夹,然后从jquery.nouislider.css重命名并将其重命名为nouislider.css

然后我就像这样导入它:

@import "inspinia/nouislider";

这工作,但我不知道为什么正常的路径和更长的文件名不起作用。

ruby-on-rails asset-pipeline ruby-on-rails-5 sprockets
2个回答
0
投票

您应该包含完整路径并再次尝试供应商/资产/样式表/ inspinia /因为它是测试或使用require或load而不是import


0
投票

我遇到了同样的问题,并找到了一种更好的方法来导入glob。 @import只能通过相对路径才能正常工作。所以你可以使用像:

@import "../../../vendor/assets/stylesheets/inspinia/**/*";

参考glob-imports doc

© www.soinside.com 2019 - 2024. All rights reserved.