cmd.exe / D / C调用C:\ Users \ sebas \ AppData \ Roaming \ npm \ node-sass.cmd style.scss:style.css 编译目录时必须指定输出目录
我希望文件监视程序监视的scss文件放在我项目的根目录下。
观看错误出现:gif_link
如何解决此错误?
答案 0 :(得分:1)
如果您希望.css
文件与原始文件在同一文件夹中生成,请尝试以下设置:
请注意从stdout创建输出文件选项-必须启用该文件,因为除非通过-o
选项,否则 node-sass 将CSS写入stdout。
如果要将生成的文件放在单独的文件夹中,请使用-o
选项:
答案 1 :(得分:0)
虽然我认为@lena答案没有错,但我想向(Compress)添加一些信息,以将 node-sass 输出最小化为一个具有不同名称并最终位于不同名称的文件目录。
看来node-sass page上的文档并不完全准确。选项并不总是位于输入文件名之前。例如,必须在输出定义之后放置选项
--output-style
。看起来像任何以--o
或-o
开头的选项,在输入文件名之前都会产生问题中描述的错误。另一方面,默认情况下 node-sass 会在源目录中生成编译的文件,除非使用-o选项修改目标目录(请在{ {3}})。
该选项(
-o, --output Output directory
)仅用于更改目标目录,而不用于更改文件名,通常不希望这样做,因此不应将其包含在参数中。默认情况下,它是具有扩展名-o
的相同源文件名。现在,要同时修改输出文件名和最终的目标目录,请不要使用 node-sass
css
选项并检查(启用)PhpStorm / WebStorm 创建输出如@Lena回答第一张图片中所述,从stdout 选项中选择文件。
示例:
要在父目录中获取以 .min.css 结尾的COMPRESSED(最小化)输出文件,监视程序的“ Arguments”字段应包含:
$ FileName $ $ FileParentDir $ / $ FileNameWithoutExtension $ .min.css-输出样式已压缩
如果父目录是 CSS ,而源文件是任何子目录下的 example.scss ,则编译器将生成 example.min.css < / strong>在 CSS 目录中。
这是使用监视程序宏的示例,但是您可以根据需要更改目录和文件名。
答案 2 :(得分:0)
对我来说,使用node-sass可以将参数设置为
$FileName$ -o . $FileNameWithoutExtension$.css
并取消选中“从stdout创建输出文件”。
答案 3 :(得分:0)
使用webpack捆绑器并在package.json中设置脚本时遇到了相同的错误
就我而言,要解决此问题,您需要添加输出目录(-o name-of-directory
)。
如果使用package.json
中的脚本,它应该看起来像这样:
scripts: {
"scss": "node-sass --watch src -o src"
}
src
是放置要编译的sass
文件的文件夹。
这意味着从src
文件夹编译sass并将已编译的文件发送到src
文件夹。
在这种情况下,css文件将放置在已经存在sass文件的位置。