簡體   English   中英

使用grunt watch將多個文件夾從LESS編譯為CSS?

[英]Compliling multiple folder from LESS to CSS using grunt watch?

我正在嘗試使用grunt watch編譯較少的文件,我有2個包含較少文件的文件夾和2個目標文件夾,但是它顯示了一個錯誤:

對象沒有方法'indexOf;

gruntfile.js代碼:

module.exports = function(grunt) {
  grunt.initConfig({
    less: {
      options: {
        paths: ["./less"],
        yuicompress: true
      },
      files: [{
        expand: true,
        cwd: './less',
        src: ['*.less', '!{fonts, variable, mixins}*.less'],
        dest: './css',
        ext: '.css'
      }, {
        expand: true,
        cwd: './less',
        src: '*.less/themes',
        dest: './css/themes',
        ext: '.css'
      }],
    },
    watch: {
      files: "./less/*",
      tasks: ["less"]
    }
  });
  grunt.loadNpmTasks('grunt-contrib-less');
  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.registerTask('default', ['watch']);
};

如您所見,“文件:”選項在那里包括2個不同的文件夾。

您可以嘗試創建2個目標(如果這是正確的術語,請使用duno),然后將您的關注點分開。 然后運行它們以進行watch 還調整了監視任務,以使用深度監視器通配符監視themes

less : {
  options : {...},
  styles : {...},
  themes : {...},
},
watch : {
  files : './less/**/*.less',
  tasks : ['less:styles','less:themes'],
}

我認為您應該將其包含在“模式”變量中,例如“開發”或“生產”。 像這樣:

less: {
   development: {
      options: {
        paths: ["./less"],
        yuicompress: true
      },
      files: [{
        expand: true,
        cwd: './less',
        src: ['*.less', '!{fonts, variable, mixins}*.less'],
        dest: './css',
        ext: '.css'
      }, {
        expand: true,
        cwd: './less',
        src: '*.less/themes',
        dest: './css/themes',
        ext: '.css'
      }]
    }
  }

另外,在“文件”數組之后,還有一個多余的逗號,在我的示例中已刪除...

之后將手表更新為以下內容:

watch: {
      files: "./less/*",
      tasks: ["less:development"]
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM