0

我有一個咕嚕文件如下,Grunt和Uglify,運行多個任務?

module.exports = function(grunt) { 
grunt.initConfig({ 
pkg: grunt.file.readJSON('package.json'), 

'uglify': { 
    options: { 
     preserveComments: 'some', 
    }, 
    my_target: { 
     files: { 
     'site/assets/js/js_code.js': [ 
      /* Libs */ 
      '/js/libs/jquery_2.2.4.min.js', 
      '/js/libs/underscore_1.8.3.min.js', 
      '/js/libs/backbone_1.3.3.min.js', 

      /* Plugins */ 
      '/js/plugins/dropzone.min.js', 
      '/js/plugins/jquery.magnific-popup.min.js', 
      '/js/plugins/jquery.validate.min.js', 

      /* Build JS Functions */ 
      '/js/functions.js', 
      '/js/builder.js', 

     ] 
     } 
    } 
}, 

'sass': { 
    dist: { 
     options: { 
     style: 'expanded', 
     compass: true, 
     }, 
     files: { 
     'assets/css/styles.css': '/scss/styles.scss', 
     } //End of Files 
    } //End of Dist. 
}, //End of SASS 

watch: { 
    'JS': { 
    files: ['/js/*.js'], 
    tasks: ['uglify'], 
    options: { spawn: false }, 
    }, 
'Scss': { 
    files: ['/scss/*.scss'], 
    tasks: ['sass'], 
    options: { spawn: false }, 
    } 
} 
}); 

grunt.loadNpmTasks('grunt-contrib-uglify'); 
grunt.loadNpmTasks('grunt-contrib-sass'); 
grunt.loadNpmTasks('grunt-contrib-watch'); 
}; 

我不能工作了,我已經做了很多的研究,但不能似乎找到一個答案,就是如何建立醜化有不止一個任務。

我知道我可以設置多個文件目標但我不希望我的手錶運行這些。所以我想要設置一個'libs.js','plugins.js'和'my_code.js'。但我不希望每次編輯/更新代碼時運行庫和插件。但是什麼能夠以某種方式設置它,以便我可以運行如grunt uglify-libs

這樣可行嗎?

非常感謝

UPDATE

按照下面的評論,我儘量詳細解釋。 現在,我運行grunt watch它返回一個輸出文件。

我想改變這個有三個輸出文件,一個是libs文件,一個是插件,另一個是我寫的代碼。

所以當我運行Grunt watch時,那隻會看我的代碼中的文件,而不是任何libs或插件文件。

然後我想能夠運行,Grunt uglify-libs,這將然後使libs文件。

插件也一樣,但是像Grunt uglify-plugs

所以基本上我想要三個uplify任務,但只有其中一個在watch函數中運行。

希望能幫助解釋更多。

非常感謝。

回答

0

如果我理解你的話,你想用一個grunt命令來啓動多個任務。您可以通過創建一個「父」的任務做到這一點,誰調用多個子任務是這樣的:

grunt.registerTask('uglify-libs', ['sass', 'uglify']); 
+0

對不起,我更多地解釋 - 我很不好,在詢問的問題:( - 我跑「咕嚕手錶」的,現在,我把所有的JS文件放到一個文件中,但我想分割文件,一個用於我的所有庫,插件和我寫的代碼,但我只希望我的watch命令在我的代碼上運行,而不是concat /縮小libs或者插件文件,我在其他項目中把文件溢出了,所以我知道這是可行的,但我只希望手錶能夠運行在我編寫的代碼上,但仍然可以運行諸如'grunt uglify-libs '並且那一個命令會更新我的libs文件。 –

+0

@ C0ol_Cod3r對不起,我根本就沒有得到它:( – MattDiMu

+0

我已經用更新更新了問題,希望能解釋更多一點我希望能夠做到 –