我有一個咕嚕文件如下,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函數中運行。
希望能幫助解釋更多。
非常感謝。
對不起,我更多地解釋 - 我很不好,在詢問的問題:( - 我跑「咕嚕手錶」的,現在,我把所有的JS文件放到一個文件中,但我想分割文件,一個用於我的所有庫,插件和我寫的代碼,但我只希望我的watch命令在我的代碼上運行,而不是concat /縮小libs或者插件文件,我在其他項目中把文件溢出了,所以我知道這是可行的,但我只希望手錶能夠運行在我編寫的代碼上,但仍然可以運行諸如'grunt uglify-libs '並且那一個命令會更新我的libs文件。 –
@ C0ol_Cod3r對不起,我根本就沒有得到它:( – MattDiMu
我已經用更新更新了問題,希望能解釋更多一點我希望能夠做到 –