2013-03-11 15 views
4

我想從相應的.LESS文件咕嚕等於0.4的任務:如何不串連目標文件

我用從故宮的最新版本生成的.css文件部分,[email protected],咕嚕-的contrib [email protected]

此前咕嚕0.4版,我可以簡單地指定模式:

htdocs/less/*.less

htdocs/css/*.css作爲目標

,並從該文件夾htdocs/less的所有文件會生成到該文件夾​​htdocs/css

由於V0.4目標模式確實不再工作,從文件夾htdocs/less所有文件都被串聯成一個名爲文件*.css

如何配置它生成所有文件的任務,而不是將它們連接成一個文件。

我不想單獨列出文件。

無法繁重的文檔中找到答案http://gruntjs.com/configuring-tasks#files確實

謝謝。

我Gruntfile.js(摘錄):

module.exports = function (grunt) { 
    grunt.initConfig({ 
     less: { 
      development: { 
       files: { 
        "htdocs/css/*.css": "htdocs/less/*.less" 
       } 
      } 
     }, 
    }); 
}; 

回答

14

你想要閱讀的文檔的Building the files object dynamically部分。

這將是一個直接的翻譯從當前的配置:

module.exports = function (grunt) { 
    grunt.initConfig({ 
     less: { 
      development: { 
       files: [{ 
        expand: true,  // Enable dynamic expansion. 
        cwd: 'htdocs/less', // Src matches are relative to this path. 
        src: ['*.less'],  // Actual pattern(s) to match. 
        dest: 'htdocs/css', // Destination path prefix. 
        ext: '.css',   // Dest filepaths will have this extension. 
       }] 
      } 
     }, 
    }); 
}; 
+0

感謝的Sindre,正是我需要的,我知道已經頁面,但我沒有與我的問題的稱號聯繫起來。 – user2157720 2013-03-14 23:02:57

0

看一看assemble-less爲好。它基於grunt-contrib-less,但是專門針對你想要做的事情。 (完全披露,我也是該項目的維護者)。

對於這個特定的用例,即assemble-less擁有優勢咕嚕-的contrib少是它有一個concat: false選項,使您能夠編譯單獨使用任何咕嚕的SRC-DEST模式的減檔。無裝配也有一個require選項,它會自動將「全局」較少的文件(如variables.less或mixins.less)加到所有其他指定的較少文件上,而不需要在每個較少文件中實際添加@import語句。

因此,例如,與assemble-less你會做:

less: { 
    development: { 
     options: { 
     concat: false 
     } 
     files: { 
     "htdocs/css/": "htdocs/less/*.less" 
     } 
    } 
    } 
+0

注意:作者已經從'assemble-less'中刪除了這個'concat'功能 – 2015-09-29 04:58:48