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

我已经用更新更新了问题,希望能解释更多一点我希望能够做到 –