Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Grunt.js动态监视并随后将SASS文件目录编译为一个CSS文件_Sass_Gruntjs_Grunt Contrib Watch_Grunt Contrib Sass - Fatal编程技术网

使用Grunt.js动态监视并随后将SASS文件目录编译为一个CSS文件

使用Grunt.js动态监视并随后将SASS文件目录编译为一个CSS文件,sass,gruntjs,grunt-contrib-watch,grunt-contrib-sass,Sass,Gruntjs,Grunt Contrib Watch,Grunt Contrib Sass,我是Grunt.js的新手,但我已经开始掌握窍门了。不过,我想用它做的主要事情是,我似乎无法确定下来 我在这里的目标是将grunt指向一个目录,让它监视所有匹配的文件,并在更改后将它们编译成一个新的CSS文件 以下是我当前的Grunfile文件: module.exports = function(grunt) { // Project configuration. grunt.initConfig({ // CONFIG ====================

我是Grunt.js的新手,但我已经开始掌握窍门了。不过,我想用它做的主要事情是,我似乎无法确定下来

我在这里的目标是将grunt指向一个目录,让它监视所有匹配的文件,并在更改后将它们编译成一个新的CSS文件

以下是我当前的Grunfile文件:

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
        // CONFIG =========================/
        pkg: grunt.file.readJSON('package.json'),
        sass: {
            dist: {
                files: {
                    'assets/css/style.css' : 'assets/css/sass/*.scss'
                }
            }
        },
        watch: {
            css: {
                files: 'assets/css/sass/*.scss',
                tasks: ['sass']
            }
        }
    });
    // DEPENDENT PLUGINS =========================/
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-sass');

    // TASKS =====================================/
    grunt.registerTask('default', ['watch']);
};
到目前为止,我一直在使用grunt contrib手表和grunt contrib sass。我尝试了compass和目录导入,但我也无法让它们中的任何一个执行我正在尝试的操作


在一天结束时,我真的只是试图避免编写导入文件,因为源代码顺序对我编写SASS的方式并不重要,因为我真的很想知道如何实现这一点。

我不确定通过使用Sass和Grunt Contrib Sass可以实现什么,但您可以通过使用一个可以导入整个目录的Sass插件来实现类似的目标。要使用该插件,您需要使用Grunt Contrib Sass中的选项,并将其指向一个主
styles.scss
文件,该文件可能类似于:

@import "vendor/*";
@import "modules/*";
@import "partials/*";
sass: {
    dist: {
        options: {
            require: 'sass-globbing'
        },
        files: {
            'assets/css/style.css' : 'assets/css/sass/style.scss'
        }
    }
}
然后你的grunt文件会有如下内容:

@import "vendor/*";
@import "modules/*";
@import "partials/*";
sass: {
    dist: {
        options: {
            require: 'sass-globbing'
        },
        files: {
            'assets/css/style.css' : 'assets/css/sass/style.scss'
        }
    }
}