6

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

4

3 回答 3

4

几天前我偶然发现了这个

酒吧的 Sass 集成

于 2013-12-17T08:08:43.207 回答
2

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

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"}}]');
        }
      }
    }
  }
}
于 2014-02-28T21:52:59.547 回答
1

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

sass -w .

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

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

于 2014-06-04T17:11:42.360 回答