2017-03-05 23 views
0

我需要将一个目录中的多个sass文件编译为另一个目录中的多个相应css文件。例如:将多个目录中的多个SASS文件编译为单独的单个目录中的多个CSS文件

src/folder1/file1.scss --compiles to-- public/file1.css 
src/folder2/file2.scss --compiles to-- public/file2.css 

这里是我使用的命令:

./src/*/*.scss ./public 

此前尝试此,我编译只用./src/*/*.scss全部到位.scss文件,并得到相应的.css文件在他们各自的目录中。然而,试图将这些转储到不同的目录中不起作用。发生什么情况是,.scss文件之一将.scss部分导入语句导入.scss文件本身,创建.scss.map文件,之后没有其他任何事情发生。

SASS是否有这种能力?我尝试了上述命令的不同变体,偶尔我会看到一个错误,说'公共'是一个目录,这导致我相信SASS不允许目录作为输出。实际上,文档只提供一个输出文件作为编译SASS的示例(即sass input.scss output.css)。

我使用NPM脚本作为构建工具,所以请不咕噜,咕嘟咕嘟等

*其他需要注意的一点。我只是想用sass --watch,而不是正常的编译命令,它像是做什么,我需要它:

sass --watch src:public

我与这个有唯一的问题是,它不只是创建公共的css文件。相反,它会在文件夹中创建一个文件夹和一个.css和.css.map文件。看起来SCSS会为每个.scss文件添加一个路径,分别对应watch遍历的相对路径。如果不创建这个额外的文件夹,这个解决方案将是理想的。

+0

你尝试'青菜--update SCSS:css'的情况下,你是在文件夹中包含** SCSS **和** **的css文件夹,如**资产/ SCSS **,**资产/ CSS **? referrer:https://stackoverflow.com/questions/19439914/how-to-convert-directory-sass-scss-to-css-via-command-line – vee

回答

0

你必须告诉你想让它输出什么文件SASS手表,就像这样:

sass --watch style.scss:style.css 

你甚至可以将其设置为输出压缩css文件(.map文件自动会为每个CSS):

sass --watch style.scss:style.css --style compressed 

我经常去一个文件,但理论上你可以观看不同的SCSS文件和编译它们分开css文件,不知道为什么你会想?,但它可以做到的。

对于要组什么,导入相关文件复制到SCSS文件,然后编译它归结为一个文件,然后重复这些步骤。

(注:我在竞选中的节点上述命令的萨斯宝石。)

+0

我需要将多个.scss文件编译为多个.css文件,而不是将单个.scss文件合并到一个.css文件中。 – skwny

+0

正确,我很确定(不是100%)你可以同时观看多个scss文件(在不同的终端窗口中),并将他们的输出设置为不同的css文件。 –

0

您可以通过指定多个源文件编译多个青菜文件分成多个CSS文件:一个空格这样的分离输出:

sass --watch src/file1.scss:dist/file1.css src/file2.scss:dist/file2.css 

您可以根据需要更改src或输出路径。

相关问题