如何在Dart编辑器中使用SASS

时间:2013-12-16 18:45:41

标签: sass dart dart-pub

任何人都有一个用于将SASS或其他CSS预处理器集成到Dart编辑器中的固定解决方案?似乎需要一个自定义的build.dart,我宁愿复制而不是代码。感谢。

3 个答案:

答案 0 :(得分:4)

我几天前偶然发现了这件事

Sass integration for pub

答案 1 :(得分:2)

这是一个build.dart文件,基本支持SASS:

import 'dart:io';

void main(List<String> args) {
  for (String arg in args) {
    if (arg.startsWith('--changed=')) {
      String file = arg.substring('--changed='.length);
      if (file.endsWith('.scss')) {
        var result = Process.runSync('sass',
            [ '--line-numbers', file,
              file.substring(0, file.length - '.scss'.length) + '.css']);
        if (result.exitCode != 0) {
          // report error (SASS seems to only report first error)
          // split error lines
          var lines = result.stderr.split('\n');
          // escape quotes in error message on first line
          var error = lines[0].replaceAll('"', r'\"');
          // extract line number from second line
          var numMatch = new RegExp(r'\d+').firstMatch(lines[1]);
          var lineNum = numMatch == null ? 1 : num.parse(numMatch.group(0));
          // Report error via JSON
          print('[{"method":"error","params":{"file":"$file","line":$lineNum,"message":"$error"}}]');
        }
      }
    }
  }
}

答案 2 :(得分:1)

在开发过程中(使用Dart编辑器或其他编辑器...),只需在目录项目中使用它的方式:

sass -w .

将CSS生成的文件放在源代码管理系统的忽略列表中(也就是git的.gitignore)。

对于dart2js编译,请使用sass pub包:http://pub.dartlang.org/packages/sass