正则表达式获取sass导入

时间:2013-04-12 13:13:25

标签: javascript sass

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

我试过了

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

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

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

它只给我mainstyle而不是其他人。请帮忙。

以下是codepen上的pen

2 个答案:

答案 0 :(得分:1)

@import开头,以分号结束,所以:

/@import[^;]*;/gm

Demo

答案 1 :(得分: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})"