无法让Sass编译器输出到app.sass所在的目录以外的其他目录中

时间:2016-09-14 12:59:28

标签: sass phpstorm

系统:Windows 10 64bit,PhpStorm 2016.2(反斜杠不是问题,它们在截图中,但不再在我的实际代码中了)

这是我的文件结构

/css -> css files
/sass -> sass files

app.sass位于/sass目录中,当我在那里更改某些内容时,编译器会自动运行。但它将app.cssapp.css.map放在/sass目录中。相反,我希望将它保存到/css目录。

这是我的watcherTask.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectTasksOptions">
    <TaskOptions isEnabled="true">
      <option name="arguments" value="--no-cache --update $FileName$:$FileNameWithoutExtension$.css" />
      <option name="checkSyntaxErrors" value="true" />
      <option name="description" value="Compiles .sass files into .css files" />
      <option name="exitCodeBehavior" value="ERROR" />
      <option name="fileExtension" value="sass" />
      <option name="immediateSync" value="true" />
      <option name="name" value="Sass" />
      <option name="output" value="$FileParentDir$/css/$FileNameWithoutExtension$.css:$FileParentDir$/css/$FileNameWithoutExtension$.css.map" />
      <option name="outputFilters">
        <array />
      </option>
      <option name="outputFromStdout" value="false" />
      <option name="program" value="C:/Ruby22/bin/sass.bat" />
      <option name="scopeName" value="Project Files" />
      <option name="trackOnlyRoot" value="true" />
      <option name="workingDir" value="$FileDir$" />
      <envs />
    </TaskOptions>
  </component>
</project>

关于我在这里缺少什么的任何线索?

更新:根据要求,观察者的屏幕截图: “刷新输出路径”字段对应于“输出”选项。 eh ... arguments选项的字段“参数”。

My file watcher

1 个答案:

答案 0 :(得分:0)

arguments选项确定文件源和目标的位置:

--no-cache --update Source:Target

默认为

--no-cache --update $FileName$:$FileNameWithoutExtension$.css

然后我必须改为

--no-cache --update $FileName$:$FileParentDir$/css/$FileNameWithoutExtension$.css

这会导致系统将css和css.map都保存到右侧文件夹中。

感谢@LazyOne指出这一点。