Webstorm 文件监视程序:“编译目录时必须指定输出目录”

Webstorm 文件监视程序:“编译目录时必须指定输出目录”,webstorm,jetbrains-ide,node-sass,file-watcher,Webstorm,Jetbrains Ide,Node Sass,File Watcher,cmd.exe/D/C调用C:\Users\sebas\AppData\Roaming\npm\node-sass.cmd style.scss:style.css 编译目录时必须指定输出目录 我希望文件监视者监视的scss文件位于我的项目的根目录下 观察出现的错误: 如何修复此错误?如果希望在与原始文件相同的文件夹中生成.css文件,请尝试以下设置: 注意从stdout创建输出文件选项-必须启用它,因为节点sass将CSS写入stdout,除非传递了-o选项 如果要将生成的文件放在单独的文件夹

cmd.exe/D/C调用C:\Users\sebas\AppData\Roaming\npm\node-sass.cmd style.scss:style.css 编译目录时必须指定输出目录

我希望文件监视者监视的scss文件位于我的项目的根目录下

观察出现的错误:

如何修复此错误?

如果希望在与原始文件相同的文件夹中生成.css文件,请尝试以下设置:

注意从stdout创建输出文件选项-必须启用它,因为节点sass将CSS写入stdout,除非传递了-o选项

如果要将生成的文件放在单独的文件夹中,请使用-o选项:

虽然@lena answer在我看来没有什么错,但我想添加一些信息,将节点sass输出压缩到一个具有不同名称的文件中,最终压缩到不同的目录中

目前的文件似乎并不完全准确。选项并不总是在输入文件名之前。例如,选项-输出样式必须放在输出定义之后。看起来输入文件名之前以-o或-o开头的任何选项都会生成问题中描述的错误

另一方面,节点sass默认情况下在源目录生成编译文件,除非使用-o选项修改目标目录Check-o,-output输出目录

选项-o的存在只是为了更改目标目录,而不是文件名,这通常是不需要的,不应该包含在参数中。默认情况下,它与扩展名为css的源文件名相同

现在,要修改输出文件名并最终修改目标目录,请不要使用node sass-o选项,并选中启用PhpStorm/WebStorm从stdout创建输出文件选项,如@Lena answer 1st image中所述

例如: 要在父目录中获取以.min.css结尾的压缩缩小输出文件,watcher Arguments字段应包含: $FileName$$FileParentDir$/$FileNameWithoutExtension$.min.css-输出样式压缩

如果父目录是CSS,并且任何子目录下的源文件是example.scss,编译器将在CSS目录下生成example.min.CSS


这是一个使用watchers宏的示例,但您可以根据需要更改目录和文件名。

使用node sass for me将参数设置为 $FileName$-o$不带OutExtension$.css的文件名


未选中从标准输出创建输出文件。

我在使用webpack bundler和在package.json中设置脚本时遇到了相同的错误

在我的例子中,要解决这个问题,您需要添加输出目录-o目录名

如果在package.json中使用脚本,则应如下所示:

scripts: {
    "scss": "node-sass --watch src -o src"
}
src是我要编译的sass文件所在的文件夹

这意味着从src文件夹编译sass,并将编译后的文件发送到src文件夹


在这种情况下,css文件将放在sass文件所在的位置。

文件观察程序中的参数字段内容错误。它适用于Ruby sass,而不是节点sass。运行节点sass-帮助以检查预期参数。例如,输出$FileName$将在与源文件相同的文件夹中输出编译版本@那不是真的。正如莉娜在回答中所解释的,我所要做的就是检查标准输出的创建输出文件。这些参数是节点sass npm的有效命令。请考虑删除你的评论,以免混淆其他人。不幸的是,由于某种原因,我不能收回我的赞成票。再次检查。1节点sass没有$FileName$:$FileNameWithoutExtension$.css语法。要指定输出文件,需要使用-o/-output选项;2从标准输出创建输出文件`在某些系统/设置上并不总是有效;不知道为什么。这就是为什么-o/-output参数总是有效的。如果只勾选从标准输出创建输出文件选项对您有效,那么这很好,没有问题。我非常确定$FileName$:$FileNameWithoutExtension$.css是jetbrains file watcher插件的语法,我能说的是它的语法不正确,因此,您的声明:文件监视程序中的参数字段内容错误。它适用于Ruby sass,而不是节点sass。这是错误的。由于你的评论是错误的,并且对未来的用户有误导性,我相信删除它会是理想的选择。很好的描述。这正是我和我猜其他使用PhpStorm节点sass的人所需要的。我不喜欢JetBrains关于这件事的教程。非常基本,例如,对于生成扩展名为.min.js的压缩文件一无所知。或者将那些缩小的文件放在特定的目录中,等等。我相信真正的程序员并不总是使用默认值和基本解释。非常感谢。