Привет, у меня есть проблема, мне нужно смотреть меньше задач для разных каталогов. Мне нужен метод для редактирования меньше задачи, и вместо этого для их дублирования мне нужно использовать переменную dir внутри нее.grunt dynamic task on watch event
есть мой код:
module.exports = function(grunt) {
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
dirLess : 'less',
dirCss : 'css',
dirImages : 'images',
dirDT : 'theme-cdt',
dirPB : 'theme-cpb',
dirMCS : 'theme-cmcs',
dirSprites : '<%= dirImages %>/sprites',
dirIconFont : './fonts',
dirCssMin : '<%= dirCss %>/min',
less : {
devDT : {
options : {
outputSourceFiles: true,
sourceMap : true,
sourceMapFilename : '<%= dirDT %>/<%= dirCss %>/style.css.map',
sourceMapBasepath : '<%= dirDT %>/<%= dirCss %>/',
},
files : {
'<%= dirDT %>/<%= dirCss %>/style.css' : '<%= dirDT %>/<%= dirLess %>/style.less'
},
},
devIeDT : {
files : {
'<%= dirDT %>/<%= dirCss %>/style-ie9-bootstrap.css': '<%= dirDT %>/<%= dirLess %>/style-bootstrap.less',
'<%= dirDT %>/<%= dirCss %>/style-ie9-common.css': '<%= dirDT %>/<%= dirLess %>/style-common.less',
'<%= dirDT %>/<%= dirCss %>/style-ie9-view.css': '<%= dirDT %>/<%= dirLess %>/style-view.less',
'<%= dirDT %>/<%= dirCss %>/style-ie8.css': '<%= dirDT %>/<%= dirLess %>/style-ie8.less'
},
},
devPB : {
options : {
outputSourceFiles: true,
sourceMap : true,
sourceMapFilename : '<%= dirPB %>/<%= dirCss %>/style.css.map',
sourceMapBasepath : '<%= dirPB %>/<%= dirCss %>/',
},
files : {
'<%= dirPB %>/<%= dirCss %>/style.css' : '<%= dirPB %>/<%= dirLess %>/style.less'
},
},
devIePB : {
files : {
'<%= dirPB %>/<%= dirCss %>/style-ie9-bootstrap.css': '<%= dirPB %>/<%= dirLess %>/style-bootstrap.less',
'<%= dirPB %>/<%= dirCss %>/style-ie9-common.css': '<%= dirPB %>/<%= dirLess %>/style-common.less',
'<%= dirPB %>/<%= dirCss %>/style-ie9-view.css': '<%= dirPB %>/<%= dirLess %>/style-view.less',
'<%= dirPB %>/<%= dirCss %>/style-ie8.css': '<%= dirPB %>/<%= dirLess %>/style-ie8.less'
},
},
devMCS : {
options : {
outputSourceFiles: true,
sourceMap : true,
sourceMapFilename : '<%= dirMCS %>/<%= dirCss %>/style.css.map',
sourceMapBasepath : '<%= dirMCS %>/<%= dirCss %>/',
},
files : {
'<%= dirMCS %>/<%= dirCss %>/style.css' : '<%= dirMCS %>/<%= dirLess %>/style.less'
},
},
devIeMCS : {
files : {
'<%= dirMCS %>/<%= dirCss %>/style-ie9-bootstrap.css': '<%= dirMCS %>/<%= dirLess %>/style-bootstrap.less',
'<%= dirMCS %>/<%= dirCss %>/style-ie9-common.css': '<%= dirMCS %>/<%= dirLess %>/style-common.less',
'<%= dirMCS %>/<%= dirCss %>/style-ie9-view.css': '<%= dirMCS %>/<%= dirLess %>/style-view.less',
'<%= dirMCS %>/<%= dirCss %>/style-ie8.css': '<%= dirMCS %>/<%= dirLess %>/style-ie8.less'
},
}
},
watch : {
devDT : {
files : [ '<%= dirDT %>/<%= dirLess %>/*.less', '<%= dirDT %>/<%= dirLess %>/bootstrap-less/*.less', '<%= dirDT %>/<%= dirLess %>/bootstrap-less/mixins/*.less',
'<%= dirDT %>/<%= dirLess %>/common/*.less', '<%= dirDT %>/<%= dirLess %>/components/*.less', '<%= dirDT %>/<%= dirLess %>/plugin/*.less', '<%= dirDT %>/<%= dirJsAcc %>/*.js',
'<%= dirDT %>/<%= dirIconFont %>/_iconfont.less', 'Gruntfile.js' ], // '<%= dirJs %>/*.js'
tasks : [ 'less:devDT', 'less:devIeDT' ], // 'uglify:dev', 'autoprefixer:all'
options : {
livereload: 12344,
reload: true
},
},
devPB : {
files : [ '<%= dirPB %>/<%= dirLess %>/*.less', '<%= dirPB %>/<%= dirLess %>/bootstrap-less/*.less', '<%= dirPB %>/<%= dirLess %>/bootstrap-less/mixins/*.less',
'<%= dirPB %>/<%= dirLess %>/common/*.less', '<%= dirPB %>/<%= dirLess %>/components/*.less', '<%= dirPB %>/<%= dirLess %>/plugin/*.less', '<%= dirPB %>/<%= dirJsAcc %>/*.js',
'<%= dirPB %>/<%= dirIconFont %>/_iconfont.less', 'Gruntfile.js' ], // '<%= dirJs %>/*.js'
tasks : [ 'less:devPB', 'less:devIePB' ], // 'uglify:dev', 'autoprefixer:all'
options : {
livereload: 12346,
reload: true
},
},
devMCS : {
files : [ '<%= dirMCS %>/<%= dirLess %>/*.less', '<%= dirMCS %>/<%= dirLess %>/bootstrap-less/*.less', '<%= dirMCS %>/<%= dirLess %>/bootstrap-less/mixins/*.less',
'<%= dirMCS %>/<%= dirLess %>/common/*.less', '<%= dirMCS %>/<%= dirLess %>/components/*.less', '<%= dirMCS %>/<%= dirLess %>/plugin/*.less', '<%= dirMCS %>/<%= dirJsAcc %>/*.js',
'<%= dirMCS %>/<%= dirIconFont %>/_iconfont.less', 'Gruntfile.js' ], // '<%= dirJs %>/*.js'
tasks : [ 'less:devMCS', 'less:devIeMCS' ], // 'uglify:dev', 'autoprefixer:all'
options : {
livereload: 12347,
reload: true
},
}
},
concurrent: {
all: {
tasks: ['watch:devDT', 'watch:devPB', 'watch:devMCS'],
options: {
logConcurrentOutput: true
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-concurrent');
grunt.registerTask('default', [ 'less:devMCS', 'less:devIeMCS', 'less:devPB', 'less:devIePB', 'less:devDT', 'less:devIeDT' ]);
grunt.registerTask('conc', ['concurrent:all'])
// grunt.registerTask('mcs', [ 'watch:devMCS' ]);
// grunt.registerTask('pb', [ 'watch:devPB' ]);
// grunt.registerTask('dt', [ 'watch:devDT' ]);
};
мне нужно уплотнить все же меньше задачи в одном родовом, который может быть использован динамически один меньше: DEV передавая каталог с этой задачей.
Я ищу в Интернете, единственное, что я нашел, это использовать глобальную переменную при вызове задачи, но когда это событие вложено в другое событие, эта переменная теряется во вложенном событии (например, задача просмотра принимает переменную, но задача меньше запуск внутри этой задачи часов теряется и не устанавливается).
благодаря