如何使用grunt递归编译less / sass文件

时间:2015-11-12 15:44:24

标签: css sass gruntjs less

我有一个复杂文件结构的项目,其中有模块有自己的css / less / sass文件夹。

我想让grunt观看所有这些并通过用css替换last lass / sass文件夹将它们编译为目标文件。编译文件的例子

root/less/style.less -> root/css/style.css

root/modules/mymodule/sass/file.sass -> root/modules/mymodule/css/file.css

我的gruntfile现在是:

    less: {
        development: {
            options: {
                paths: ["**/*"]
            },
            //files: {"css/main.css": "less/main.less"},
            files: [
                {
                    expand: true,
                    cwd: "**/*",
                    src: ["**/*.less"],
                    dest: "",
                    ext: ".css"
                }
            ]
        }
        // ,
        // production: {
        //     options: {
        //         paths: ["assets/css"],
        //         cleancss: true
        //     },
        //     files: {"path/to/result.css": "path/to/source.less"}
        // }
    },
    watch: {
      styles: {
        files: ['less/**/*.less'], // which files to watch
        tasks: ['less'],
        options: {
          nospawn: true
        }
      }
    }
});

但它不起作用。

1 个答案:

答案 0 :(得分:0)

我认为这是您的启动(cwd)和目标(dest)路径不正确。试试这个:

less: {
    development: {            
        files: [
            {
                expand: true,
                cwd: "root", // The startup directory
                src: ["**/*.less"],
                dest: "root", // Destination
                ext: ".css"
            }
        ]
    }
},