我正在使用node-sass将scss文件编译到WebStorm内部的css。
这些是我目录中的设置。
程序:
/usr/local/bin/node-sass
参数:
--output $ProjectFileDir$/css/ --compile --map $FileName$
要刷新的输出路径:
$ProjectFileDir$/css/$FileNameWithoutExtension$.css:$ProjectFileDir$/css/$FileNameWithoutExtension$.map
我希望将css文件写在root下的css目录中。 然而,这是我得到的WebStorm的编译错误
/usr/local/bin/node-sass --output /Users/melissa/Dropbox/codepen/sample/core-fe/css/ --compile --map styles.scss
path.js:28
throw new TypeError('Path must be a string. Received ' + inspect(path));
^
TypeError: Path must be a string. Received undefined
at assertPath (path.js:28:11)
at Object.extname (path.js:1471:5)
at getOptions (/usr/local/lib/node_modules/node-sass/bin/node-sass:186:40)
at Object.<anonymous> (/usr/local/lib/node_modules/node-sass/bin/node-sass:368:15)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
Process finished with exit code 1
答案 0 :(得分:3)
https://github.com/sass/node-sass#command-line-interface的可用选项中未列出--compile
和--map
。
使用最新的node-sass版本(4.7.2)时,以下设置适用于我:
Arguments: $FileName$ --source-map=true -o $ProjectFileDir$/css
Output Paths to refresh: $ProjectFileDir$/css/$FileNameWithoutExtension$.css:$ProjectFileDir$/css/$FileNameWithoutExtension$.css.map
Working directory: $FileDir$
答案 1 :(得分:0)
对于遇到相同问题的人,以上答案不适用于您的sass版本,或者如果您使用的是Dart Sass,请尝试省略参数的这一部分
--source-map=true -o
然后像这样格式化宏:
Arguments: $FileName$:$ProjectFileDir$/css/$FileNameWithoutExtension$.css
Output Paths to refresh: $ProjectFileDir$/css/$FileNameWithoutExtension$.css:$ProjectFileDir$/css/$FileNameWithoutExtension$.css.map
Working directory: $FileDir$