1

大家好,你能提供给我正则表达式来获得 sass 和 scss 风格的@imports。

我试过了

/@import[\s"']*([^"';\n]+)[;"']*/g

但它只给了我列表的第一个@import

@import "mainstyle",
"header",
"typography",
"somethingelese.scss";

它给我mainstyle的只是其他的。请帮忙。

这是codepen上的

4

2 回答 2

2

@import它以分号开头和结尾,所以:

/@import[^;]*;/gm

演示

于 2013-04-12T13:16:01.183 回答
0

Sass 已经实现了这个逻辑,所以你可以使用 Sass API 来完成,而不是自己编写,如下所示:

ruby -rubygems -e "require 'sass/plugin'; puts Sass::Plugin::StalenessChecker.new(Sass::Plugin.engine_options).send(:dependencies, 'my_filename.sass', Sass::Importers::Filesystem.new('.')).map(&:first).join(%Q{\n})"

如果您使用的是指南针,您可以将其更改为:

ruby -rubygems -e "require 'sass/plugin'; require 'compass'; puts Sass::Plugin::StalenessChecker.new(Compass.sass_engine_options).send(:dependencies, 'my_filename.sass', Sass::Importers::Filesystem.new('.')).map(&:first).join(%Q{\n})"
于 2013-04-26T20:45:12.127 回答