WebStorm 的文件观察器用 Dart 编译 SCSS

WebStorm's file watcher to compile SCSS with Dart

我发现 Sass 正在从使用 Ruby 编译到 Dart,正如他们的主页所建议的那样 - https://sass-lang.com/。我按照那里的步骤,给自己安装了 Dart 编译器,实际上我可以 运行 他们建议的命令 - sass source/stylesheets/index.scss build/stylesheets/index.css 并成功地将我的 SCSS 编译为 CSS.

我遇到的问题是当我尝试让 WebStorm 的文件观察器为我执行此步骤时。当我如下图所示配置 File Watcher 时:

然后在更改我的 SCSS 文件时,文件观察器确实触发了,但是说:

C:\tools\dart-sdk\bin\dart.exe --no-cache --update viewQuestions.scss:viewQuestions.css Unrecognized flags: cache, update

Process finished with exit code 255

我尝试删除标志,但它会导致更多错误,所以我停止了尝试。然后我放弃了使用 Dart 的想法,并使用相同的参数 Ruby 重新配置它,如下图所示,效果很好。

所以我的问题是我做错了什么,是 Dart 需要不同的论点还是我错过了更多的东西。

您实际上不需要下载单独的 Dart SDK,因为 Sass 安装程序提供了一个。

您似乎已经遵循了 installation instructions 并且现在可能已经在 c:\tools\dart-sass 中安装了 Windows 的 Sass,所以您现在有一个名为 [=11] 的文件=]

这是您应该在 Tool to run on changes | Program 字段中添加到 WebStorm 的内容(替换 c:\tools\ruby....bat 行)。

按照 LazyOne 的建议,我按照以下步骤找到了问题的解决方案:

1) 运行 "where sass"命令,查找sass.bat所在位置

2) 在 WebStorm 的文件观察器的 Program 字段中传递 sass.bat。它在这里 C:\ProgramData\chocolatey\lib\sass\tools\sass.bat

3) 然后我按照https://www.java.com/en/download/help/path.xml 将Dart bin 文件夹从C:\tools\dart-sdk\bin 添加到Win10 PATH系统环境变量

4) 最后,稍作调整后发现,在 File Watcher 的参数字段中,该行应为 $FileName$ $FileNameWithoutExtension$.css,中间没有“:”,这与 Ruby

这最终对我有用

添加正确答案,删除参数字段中的 --no-cache 对我有用。

添加正确答案:对于那些 mac 用户但还没有弄明白的人,这对我有用:

  1. 安装 dart sass instructions here(注意:您可能需要先卸载 ruby sass:sudo gem uninstall ruby
  2. 验证飞镖 sass 是否正常工作:sass path_to_file/your_sass_file.scss path_to_file/your_output_file.css
  3. 在 Webstorm 文件观察器选项中设置 "Program" 引用:usr/local/bin/sass(这是我默认安装 sass 的位置)
  4. 对于 "Arguments" 你可以使用:$FileName$ $FileNameWithoutExtension$.css--update 参数也有效但是 --cache argument 不被 dart sass 接受)