2016-04-04 8 views
0

私は、次のgruntfile.jsありますうなり声 - 同じフォルダに出力ファイル

module.exports = function(grunt) { 
    require('jit-grunt')(grunt); 

    grunt.initConfig({ 
    uglify: { 
     options: { 
     manage: false 
     }, 
     my_target: { 
     files: [{ 
      expand: true, 
      cwd: 'assets/js', 
      src: '*.js', 
      dest: 'assets/js/min' 
     }] 
     }, 
    }, 
    less: { 
     development: { 
     options: { 
      compress: true, 
      yuicompress: true, 
      optimization: 2 
     }, 
     files: [ 
     { 
      expand: true, // Recursive 
      cwd: "assets", // The startup directory 
      src: ["**/*.less"], // Source files 
      dest: "assets/", // Destination 
      ext: ".css" // File extension 
     } 
     ] 
     } 
    }, 
    watch: { 
     styles: { 
     files: ['assets/**/*.less', 'assets/js/*.js'], // which files to watch 
     tasks: ['less', 'newer:uglify'], 
     options: { 
      nospawn: true 
     } 
     } 

    } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-newer'); 
    grunt.registerTask('default', ['less', 'watch', 'newer:uglify']); 
}; 

そして、次のパスの分布:現在gruntfile.js

| assets 
|-- folder-1 
    |-- less 
|-- folder-2 
    |-- less 

を、私の出力がサブレベルであります

| assets 
|-- folder-1 
    |-- less 
     |-- css 
|-- folder-2 
    |-- less 
     |-- css 

ただし、LESSファイルと同じレベルにある必要があります。たとえば、次のように

| assets 
|-- folder-1 
    |-- less 
    |-- css 
|-- folder-2 
    |-- less 
    |-- css 

gruntfile.jsを変更する方法上の任意のアイデア?それは可能ですか?

答えて

2

あなたが正しく理解していれば、あなたの各フォルダ{x} /フォルダのless /フォルダの兄弟としてCSS /フォルダが必要になります。

これはあなたの小さいタスクの設定にrenameプロパティを追加することによって行うことができます。

files: [ 
    { 
     expand: true, // Recursive 
     cwd: "assets", // The startup directory 
     src: ["**/*.less"], // Source files 
     dest: "assets/", // Destination 
     ext: ".css", // File extension 
     rename: function (dest, src) { 
      return (dest + src.replace('less/', 'css/')); 
     } 
    } 
] 
関連する問題