2015-02-08 4 views
1

Я работаю с Grunt для Minified JS. Мне нужно минимизировать папку differents для разных страниц ... например, workspace.min.js для страницы Workspace и dashboard.min.js для страницы Dashboard ...Несколько папок и файлов с Grunt

Как мне настроить свой файл grunt? Могу ли я добавить в свою задачу файл grunt для мини-файлов CSS?

Я поставил фактический код здесь для моего gruntfile.js! (Я очень новичок в Grunt ... извините)

Спасибо!

module.exports = function (grunt) { 

// Project configuration. 
grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    paths: { 
     src: { 
      js: ['Resources/js/workspace/*.js', 'Resources/plugins/redactor/*.js', 'Resources/plugins/jquery.cookie/jquery.cookie.js', 
       '/Resources/plugins/holder/holder.js', '/Resources/plugins/jquery.numeric/jquery.numeric.min.js', '/Resources/plugins/smothZoom/jquery.smoothZoom.js', 
      '/Resources/plugins/jquery-transit/jquery.transit.min.js',''] 
     }, 
     dest: { 
      js: 'dist/workspace.js', 
      jsMin: 'dist/workspace.min.js' 
     } 
    }, 
    concat: { 
     js: { 
      options: { 
       separator: ';' 
      }, 
      src: '<%= paths.src.js %>', 
      dest: '<%= paths.dest.js %>' 
     } 
    }, 
    uglify: { 
     options: { 
      banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n', 
      compress: true, 
      mangle: true, 
      sourceMap: true 
     }, 
     build: { 
      src: '<%= paths.src.js %>', 
      dest: '<%= paths.dest.jsMin %>' 
     } 
    } 
}); 

// Load the plugin that provides the "uglify" task. 
grunt.loadNpmTasks('grunt-contrib-uglify'); 

// Default task(s). 
grunt.registerTask('default', ['uglify']); 

};

ответ

1

Если вы хотите, чтобы Минимизировать количество файлов, вы можете создать несколько ключей, как:

uglify: { 
     scripts: { 
      files:{ 
       '<%= dirs.dest%>/js/scripts.min.js': [ 
        '<%= dirs.src%>/js/scripta.js', 
        '<%= dirs.src%>/js/scriptb.js', 
        '<%= dirs.src%>/js/scriptc.js' 
        ] 
      } 
     }, 
     someotherscript: { 
      files:{ 
       '<%= dirs.dest %>/js/scriptd.min.js': '<%= dirs.src %>/js/scriptd.js' 
      } 
     } 
    } 

А затем создать задание по умолчанию для запуска их всех, как:

grunt.registerTask(
    'default', 
    [ 
    'uglify:scripts', 
    'uglify:someotherscript', 
    ] 
); 

Тогда, когда вы запускаете хрюканье, он их всех уменьшает.

+0

И варианты? То же самое для всех скриптов? Благодаря!! – chemitaxis

+0

Вы можете поместить опции на уровне uglify (чтобы они применимы ко всем) или под отдельными ключами. – bobdye

+0

Хорошо! Я проверю !! Спасибо друг – chemitaxis

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