Grunt文件api创建了不需要的文件

时间:2013-12-19 21:31:12

标签: javascript gruntjs

我在Gruntfile.js中有以下代码:

    less: {
        dist: {
            options: {
                paths: ['less/**/*.less'],
                cleancss: true,
                strictImports: true,
                strictUnits: true
            },
            expand: true,
            cwd: 'src',
            src: 'less/style.less',
            dest: 'tmp/less.css'
        }
    },

我的目标是将/src/less/**/*.less中的所有较少文件(目前只有style.less)解析为tmp/less.css中的css文件。而是创建文件tmp/less.css/less/style.less。我注意到其他grunt插件的类似行为,所以我认为这与插件本身没什么关系。我知道我不必使用expandcwd,但我正在尝试理解Grunt文件api以获得更复杂的配置。我做错了什么?

1 个答案:

答案 0 :(得分:2)

通常,您只想输出一个或两个文件(以减少CSS请求),因此LESS明确指定编译目标更有意义。所以更简单的设置可能更适合你。

less: {
    dist: {
        files: {
            'src/tmp/less.css': 'src/less/style.less',
            'src/tmp/less2.css': 'src/less/style.less'
        },
        options: {
            cleancss: true,
            strictImports: true,
            strictUnits: true
        }
    }
},

这样的内容应该会占用.less目录中的所有less个文件,并在tmp目录中输出相同的文件夹结构:

less: {
    dist: {
        files: [{
            expand: true,
            cwd: 'src',
            src: ['less/**/*.less'],
            dest: 'tmp/',
            ext: '.css'
        }],
        options: {
            cleancss: true,
            strictImports: true,
            strictUnits: true
        },
    }
}