Grunt 的多个文件夹和文件
Multiple folder and files with Grunt
我正在与 Grunt 合作来缩小 JS。我需要为不同的页面缩小不同的文件夹...例如 workspace.min.js 用于工作区页面,dashboard.min.js 用于仪表板页面...
我需要如何配置我的 gruntfile?我也可以在我的 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']);
};
如果您想缩小多个文件,您可以创建多个密钥,例如:
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',
]
);
然后当你 运行 g运行t 时,它会把它们全部缩小。
我正在与 Grunt 合作来缩小 JS。我需要为不同的页面缩小不同的文件夹...例如 workspace.min.js 用于工作区页面,dashboard.min.js 用于仪表板页面...
我需要如何配置我的 gruntfile?我也可以在我的 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']);
};
如果您想缩小多个文件,您可以创建多个密钥,例如:
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',
]
);
然后当你 运行 g运行t 时,它会把它们全部缩小。