【问题标题】:grunt doesn't see import in sass filegrunt 在 sass 文件中看不到导入
【发布时间】:2014-07-03 13:24:31
【问题描述】:

grunt 工作得很好。

我在 Gruntfile.js 中将这个属性用于 css

    sass: {
        dist: {
            files: {
                'src/css/style.css': 'src/css/style.scss'
            }
        }
    },      


    cssmin: {
        combine: {
            files: {
                'css/cssmin.css': ['src/css/style.css']
            }
        }
    },

    watch: {
        scripts: {
            files: 'src/js/*.js',
            tasks: ['jshint', 'concat', 'uglify']
        },

        css: {
            files: 'src/css/*.scss',
            tasks: ['sass', 'cssmin']
        }
    }

所以一切都很酷,但在 css 文件夹中我有三个文件: 1.style.css 2.style.scss 3.sn-ps.scss

所以,为了测试,我在那里设置了简单的属性。在 style.scss 中

$color: #fff;

@import 'snippets.scss';

body{
    height: 100px;
    width: 100px;
    background: #000;
    color: $color;
    font-size: 14px;
}

p{
    color: black;
    font-size: 20px;
    background: lightgreen;
}

在 sn-ps.scss 中也是如此:

body{
    width: 10000px;
    height: 50000px;
    background: #fff;
}

所以当我打开 grunt 时,一切正常,并且在文件 cssmin.css 中我得到内联属性:

body{height:100px;width:100px;background:#000;color:#fff;font-size:14px}p{color:#000;font-size:20px;background:#90ee90}

但是你看,@import 'sn-ps.scss' 中没有任何来自 import 的属性。 我怎么了?如您所见,我不使用指南针插件。

【问题讨论】:

    标签: css sass gruntjs


    【解决方案1】:

    在编译输出 CSS 时,您可以在控制台中看到什么?可以发在这里吗?

    另一件事是,如果您不需要同时生成 CSS 文件:styles.csssnippets.css,最好将您的 snippets.scss 重命名为 _snippets.scss 并将样式更改为:

    $color: #fff;
    
    @import '_snippets';
    
    body{
        height: 100px;
        width: 100px;
        background: #000;
        color: $color;
        font-size: 14px;
    }
    
    p{
        color: black;
        font-size: 20px;
        background: lightgreen;
    }
    

    您将只有一个输出 CSS 文件,结果会更清晰。

    【讨论】:

    • 完成,没有错误。 2014 年 7 月 9 日星期三 12:57:30 GMT+0400 (Арабское время (зима)) 于 1.248 秒内完成 - 等待中...
    • 你看我试着按照你的建议去做,但无论如何它都不起作用。也许我在 Gruntfile.js 中做了不好的属性?我应该说它会监视文件夹中的所有 .scss 文件吗?或者无论如何,如果 style.scss 属性中有 @import - 它必须工作?
    • 如果Grunt 编译你的基本styles.scss,它也必须编译所有引入的_filename.sccs 文件。有点奇怪。您使用哪种 SASS?如果你在styles.scss或_sn-ps.scss中写了一些废话(一些bug),重启grunt server后会发生什么?重启后能看到错误信息吗?
    • 当我在命令行中写 frunt 我得到这个 C:\Users\designer\Desktop\grunt2>grunt Running "jshint:" (jshint) task >> 3文件无绒毛。运行“concat:dist”(concat)任务文件 src/js/concated.js 创建。运行“uglify:my_target”(uglify)任务文件 js/js.min.js 创建:121 B → 90 B 运行“sass:dist”(sass)任务文件 src/css/style.css 创建。运行“cssmin:combine”(cssmin) 任务文件 css/cssmin.css 创建:298 B → 159 B 运行“watch”任务等待中...
    • 当我更改 style.scss 中的文件时,我得到了这个 >> 文件“src\css\style.scss”已更改。运行“sass:dist”(sass)任务文件 src/css/style.css 创建。运行“cssmin:combine”(cssmin) 任务文件 css/cssmin.css 创建:321 B → 177 B 完成,没有错误。 2014 年 7 月 11 日星期五 14:50:38 GMT+0400 (Арабское время (зима)) 于 1.205 秒内完成 - 等待...仅此而已。
    猜你喜欢
    • 2016-01-05
    • 2015-08-03
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多