为了导入我的Sass文件,我使用了sass-rails'(https://github.com/rails/sass-rails)glob功能。它说Ruby glob:排除目录和文件
任何有效的红宝石水珠可以使用
我想用@import
时要排除的目录和文件。 使用块的任何ruby代码在这种情况下不起作用。但即使试图排除单个文件也不会按我想要的方式工作。
考虑这个树状结构
/_bar.scss
/_foo.scss
/all.scss
比如,我要排除的文件_foo.scss
。我在这里读到https://stackoverflow.com/a/27707682/228370,使用!
你可以否定一个模式。
我试过如下:
Dir["{[!_foo]}*.scss"]
=> ["all.scss"]
但这跳过_bar.scss
。当寻找到红宝石的水珠参考(http://ruby-doc.org/core-2.2.0/Dir.html#method-c-glob)变得清楚为什么:
[组] 匹配在集合中的任何一个字符。行为与Regexp中的字符集完全相同,包括集合否定([^ a-z])。
(显然,否定可以用!
和^
实现),因为我们有我们的方式下划线,用下划线每个文件都被排除在外。
但是排除固定文件的解决方案是什么?
因为我需要这个内部sass以及'@ import',这是行不通的。我在我的问题中提到了这一点*任何使用块的ruby代码在这种情况下不起作用* – 23tux