节点sass不导入

时间:2017-12-12 11:55:22

标签: css node.js zurb-foundation node-sass libsass

我正在使用nodejs,electron和node-sass构建一个sass编译器。

将有一个配置文件将描述许多项目的一些“sass编译器”,用户将能够通过GUI激活和停用它们。

我使用“电子”来创建界面,并使用电子“ipcmain”按需启动编译器。

为了初始化编译器,我产生了一个包含整个编译器的子进程。

使用以下代码完成编译:

var result = this.sass.renderSync({
        file: 'C:\\Users\\George\\Desktop\\css_compiler_tests\\test3\\scss\\style.scss',
        outFile: 'C:\\Users\\George\\Desktop\\css_compiler_tests\\test3\\css\\style.css',
        includePaths:[
            'C:\\Users\\George\\Desktop\\css_compiler_tests\\test3\\scss\\',
            'C:\\Users\\George\\Desktop\\css_compiler_tests\\test3\\scss\\foundation\\components\\'
        ]
    });

我使用绝对路径执行编译,但文件是相对路径。

我运行我的程序/ gui并激活了编译器,我得到了一个CSS文件。
问题是缺少一些进口。

我的根文件夹位于'C:\ Users \ George \ Desktop \ css_compiler_tests \ test3 \'。
我尝试编译导入'scss_inculded-files.scss'的'scss \ style.scss'。

文件'scss_inculded-files'导入'scss \ foundation.scss',导入'scss \ foundation \ components'。

以下是一个例子:

/*scss\style.scss*/
@import "included-files";

/*scss\_inculded-files.scss*/
@import 
"includes/fonts",
"includes/custom-colors",
"includes/foundation-custom-settings",
"foundation/settings",
"foundation";

/*scss\foundation.scss*/
@import
"foundation/components/grid",
"foundation/components/accordion";

缺少最后两次导入的内容。

最后我从命令行尝试并得到了同样的错误:

 D:\mytests\nodejs\nodeSass> node_modules/.bin/node-sass C:\Users\George\Desktop\css_compiler_tests\test3\scss\style.scss -o C:\Users\George\Desktop\css_compiler_tests\test3\scss\ --include-path C:\Users\George\Desktop\css_compiler_tests\test3\scss\

有没有办法包含那些丢失的文件?

提前谢谢。

编辑1 经过一些实验,我发现Mixins就是问题所在。

假设我有这样的Mixin:

@mixin headline($size, $color: $base-color) {
    color: $color;
    font-size: $size;
}

如果我这样称呼它就完美编译:

h1 {
    @include headline($color: blue, $size: 12px);
}

如果我不打电话,则不会编译。

我正在使用Foundation Zurb框架,我相信auto包含了mixins。

0 个答案:

没有答案