Ruby WebStorm';使用Dart编译SCS的文件监视程序

Ruby WebStorm';使用Dart编译SCS的文件监视程序,ruby,sass,dart,webstorm,file-watcher,Ruby,Sass,Dart,Webstorm,File Watcher,我发现Sass正在从使用Ruby编译转移到Dart,正如他们的主页所示-。我按照那里的步骤,得到了Dart编译器,实际上我可以运行他们建议的命令-sass source/stylesheets/index.scss build/stylesheets/index.css,并成功地将我的scss编译成css 我遇到的问题是,当我尝试让WebStorm的文件查看器为我执行这一步时。当我配置文件查看器时,如下图所示: 然后,在更改我的SCSS文件时,文件观察程序确实会触发,但会说: C:\tools

我发现Sass正在从使用Ruby编译转移到Dart,正如他们的主页所示-。我按照那里的步骤,得到了Dart编译器,实际上我可以运行他们建议的命令-
sass source/stylesheets/index.scss build/stylesheets/index.css
,并成功地将我的scss编译成css

我遇到的问题是,当我尝试让WebStorm的文件查看器为我执行这一步时。当我配置文件查看器时,如下图所示:

然后,在更改我的SCSS文件时,文件观察程序确实会触发,但会说:

C:\tools\dart sdk\bin\dart.exe--无缓存--更新viewQuestions.scss:viewQuestions.css 无法识别的标志:缓存、更新

进程已完成,退出代码为255

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


所以我的问题是我做错了什么,是Dart需要不同的参数,还是我遗漏了更多的参数。

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

似乎您已经遵循了,并且现在可能已经在
c:\tools\dart-Sass
中安装了用于Windows的Sass,因此您现在有了一个名为
c:\tools\dart-Sass\Sass.bat


这是您应该添加到WebStorm中的
工具以运行更改|程序
字段(替换
c:\tools\ruby….bat
行)。

正如LazyOne所建议的,我通过以下步骤找到了问题的解决方案:

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

2) 在WebStorm的文件监视程序的程序字段中传递sass.bat。它就在这里C:\ProgramData\Chocolate\lib\sass\tools\sass.bat

3) 然后,我将Dart bin文件夹从C:\tools\Dart sdk\bin添加到Win10 PATH系统环境变量中

4) 最后,经过一些调整,我们发现在File Watcher的参数字段中,行应该是$FileName$$FileNameWithoutExtension$.css,中间不带“:”,这与Ruby不同

这最终对我起了作用

添加到正确答案,删除参数字段中的
--无缓存
对我有效。

添加到正确答案:对于那些mac用户,并且还没有弄清楚,这对我有效:

  • 安装dart sass(注意:您可能需要先卸载ruby sass:
    sudo gem uninstall ruby
  • 验证dart sass是否正常工作:
    sass path_to_file/your_sass_file.scss path_to_file/your_output_file.css
  • 在Webstorm文件查看器选项中,将“程序”引用设置为:
    usr/local/bin/sass
    (这是我默认安装sass的地方)
  • 对于“参数”,您可以使用:
    $FileName$$FileNameWithoutExtension$.css
    --update
    参数也有效,但dart sass不接受
    --cache参数

  • 在Dart项目中对我很有效。但它是作为构建步骤运行的。@GünterZöchbauer忘了提到,我正在做一个节点项目,我只是想在本地编译我的SCSS1)运行
    where sass
    ,以了解在终端中执行
    sass
    时将运行什么程序。在文件监视程序中使用该程序。2) 如果未找到
    dart.exe
    ,请确保在
    path
    系统环境中列出该程序的路径variable@LazyOne这就成功了。where-sass命令告诉我它在C:\ProgramData\Chocolate\lib\sass\tools中,所以我在FileWatcher中选择了它。在Win10路径变量中添加了它,FileWatchers参数中的一个区别是,它期望$FileName$$FileNameWithoutExtension$.css之间没有“:”,这与Ruby不同。谢谢我在C:\ProgramData\Chocolate\lib\sass\tools中找到了sass.bat,我在文件监视程序设置中设置了它。它现在返回:cmd.exe/D/C call C:\tools\dart sdk\bin\sass.bat--无缓存--更新viewQuestions.scss:viewQuestions.css“dart.exe”不被识别为内部或外部命令、可操作程序或批处理文件。退出代码为1的过程已完成我也尝试过天真地将其移动到Dart文件夹中,但没有成功尝试使用
    Install Anywhere(Standalone)
    方法再次安装Sass。从提供的链接下载
    dart-sass-1.3.2-windows-x64.zip。将其解压缩并解压缩到
    c:\tools
    。通过键入
    c:\tools\dart sass\sass.bat--version
    检查它是否工作。如果打印的是
    1.3.2
    ,则按上述步骤进行操作。另外,您从何处获得
    --无缓存
    --更新
    选项?两者似乎都不存在--no cache和--update是打开Webstorm的FileWatch for SCSSr时的默认参数。Buut Win10 PATH var解决了问题,感谢您的快速响应!遗憾的是,它不再工作了:
    读取lstheme.scss时出错:无法打开文件。
    。进程以退出代码66结束。这按预期工作,但我没有使用sass.bat或set the环境变量。我唯一需要指出的是sass.exe