2013-11-12 3 views
0

Я немного новичок в том, чтобы заставить ее скопировать все содержимое каталога src (App) в каталог dest (build).Задача копирования Grunt не копирует все папки и файлы

Это только копирование через папку приложения, но ни одна из его дочерних папок и файлов. Как я могу заставить его копировать все? Любая помощь могла бы быть полезна. Пожалуйста, смотрите мой файл grunt ниже.

спасибо - Крис

module.exports = function(grunt) { 


    // INITIALIZE TASKS 
    grunt.initConfig({  


     // PACKAGE INFO 
     pkg: grunt.file.readJSON('package.json'), 


     // ENVIRONMENT SETTINGS 
     env: 'dev', 


     // CLEAN BUILD FOLDER 
     clean: { 
      options: { 
       force: true 
      }, 

      build: [ 
       'build/App/buildlates', 
       'build/App/styles/app', 
       'build/App/styles/vendor', 
       'build/App/scripts/app', 
       'build/App/scripts/vendor', 
       'build/App/scripts', 
       'build/App/styles', 
       'build/App/img', 
       'build/App', 
       'build' 
      ] 
     }, 


     // COPY DEV CODE INTO BUILD 
     copy: { 

      main: { 
       files: { 
        'build/': ['App/**'] 
       } 

      } 
     }, 


     // JSHINT 
     jshint: { 

      files: [ 
        'App/scripts/app/angular/**/*.js' 
      ], 
      options: { 
       ignores: [ 
        'App/scripts/app/*.js', 
        'App/scripts/app/angular/directives/vendor/**' 
       ] 
      } 

     }, 


     // LESS PROCESSING 
     less: { 

      development: { 
       options: { 
        paths: ['build/App/styles/app'] 
       }, 
       files: { 
        'build/App/styles/app/css/main.css': 'build/App/styles/app/main.less', 
        'build/App/styles/app/css/another.css': 'build/App/styles/app/another.less' 
       } 
      } 

     }, 


     // CONCAT 
     concat: { 

      css : { 
       src: ['build/App/styles/app/css/*.css'], 
       dest: 'build/App/styles/app/css/styles.css' 
      }, 

      js : { 
       src: [ 
         'build/App/scripts/app/angular/*.js', 
         'build/App/scripts/app/angular/objects/*.js', 
         'build/App/scripts/app/angular/modules/*.js', 
         'build/App/scripts/app/angular/services/*.js', 
         'build/App/scripts/app/angular/directives/*.js', 
         'build/App/scripts/app/angular/filters/*.js', 
         'build/App/scripts/app/angular/controllers/*.js' 
       ], 
       dest: 'build/App/scripts/app/angular/release/app.js' 
      } 

     }, 


     // MINIMIZE CSS  
     cssmin: { 

      minify: { 
       expand: true, 
       cwd: 'build/App/styles/app/css/', 
       src: ['styles.css', '!*.min.css'], 
       dest: 'build/App/styles/app/css/', 
       ext: '.min.css' 
      } 

     }, 


     // MINIMIZE JAVASCRIPT 
     'jsmin-sourcemap': { 
      all: { 
       src: ['build/App/scripts/app/angular/release/app.js'], 
       dest: 'build/App/scripts/app/angular/release/app.min.js', 
       destMap: 'build/App/scripts/app/angular/release/app.js.map' 
      } 
     }, 


     // WATCH FOR CHANGES 
     watch: { 

      src: { 
       options: { livereload: true }, 
       files: ['App/scripts/app/**', 'App/styles/app/*.less', 'App/templates/**'], 
       tasks: ['jshint', 'less', 'preprocess'], 
      } 

     }, 


     // PREPROCESS HTML BUILD DIRECTIVES 
     preprocess: { 

      options: { 
       context: { 
        ENVIRONMENT: '<%= env %>' 
       } 
      }, 

      html: { 
       src: 'App/templates/environmentChecker.html', 
       dest: 'build/App/templates/environmentChecker.html' 
      } 


     } 


    }); 



    // LOAD TASKS 
    grunt.loadNpmTasks('grunt-contrib-clean'); 
    grunt.loadNpmTasks('grunt-contrib-copy'); 
    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-cssmin'); 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-jsmin-sourcemap'); 
    grunt.loadNpmTasks('grunt-contrib-jasmine'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-preprocess'); 


    // REGISTER TASKS 
    grunt.registerTask('default', ['clean:build', 'copy', 'jshint']); 
    grunt.registerTask('dev', ['jshint', 'clean:build', 'clean:build', 'copy', 'less:development', 'preprocess', 'watch']); 
    grunt.registerTask('prod', ['jshint', 'clean:build', 'clean:build', 'copy', 'less:development', 'concat:css', 'cssmin', 'concat:js', 'jsmin-sourcemap', 'preprocess']); 


}; 

ответ

0

Указанный вами конфигурация выглядит только в корневом каталоге; если вы хотите всю папку, почему бы просто не указать это?

copy: { 
    main: { 
     files: { 
      'build': 'App' 
     } 
    } 
} 
+0

Здравствуйте, спасибо, что ответим! К сожалению, это ничего не скопировало :-( – cpeele00

+0

странно, я изменил его на то, как у меня было это, и теперь это работает ... – cpeele00

+0

Если вы нашли ответ, то решила вашу проблему, пожалуйста, подумайте о том, чтобы она была принята. – Ben

Смежные вопросы