module.exports = function (grunt) {
//var fs = require('fs');
//var localPath = fs.realpathSync('.');
grunt.log.writeln("==========================");
grunt.log.writeln("==========================");
grunt.log.writeln("grunt自动脚本开始运行......");
grunt.log.writeln("==========================");
grunt.log.writeln("==========================");
grunt.log.writeln("====请稍后,先观赏神兽====");
grunt.log.writeln(" ");
grunt.log.writeln(" ");
grunt.log.writeln(" ");
grunt.log.writeln("上帝的骑宠,上古时期世界的霸主。");
grunt.log.writeln("┏┛┻━━━┛┻┓");
grunt.log.writeln("┃|||||||┃");
grunt.log.writeln("┃ ━ ┃");
grunt.log.writeln("┃ ┳┛ ┗┳ ┃");
grunt.log.writeln("┃ ┃");
grunt.log.writeln("┃ ┻ ┃");
grunt.log.writeln("┃ ┃");
grunt.log.writeln("┗━┓ ┏━┛");
grunt.log.writeln(" ┃ 史 ┃ ");
grunt.log.writeln(" ┃ 诗 ┃ ");
grunt.log.writeln(" ┃ 之 ┃ ");
grunt.log.writeln(" ┃ 宠 ┃");
grunt.log.writeln(" ┃ ┗━━━┓");
grunt.log.writeln(" ┃经验与我同在 ┣┓");
grunt.log.writeln(" ┃攻楼专用宠物 ┃");
grunt.log.writeln(" ┗┓┓┏━┳┓┏┛");
grunt.log.writeln(" ┃┫┫ ┃┫┫");
grunt.log.writeln(" ┗┻┛ ┗┻┛");
grunt.log.writeln(" ");
grunt.log.writeln(" ");
grunt.log.writeln(" ");
grunt.log.writeln("任务执行详情:");
grunt.log.writeln("");
// 项目配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
//前台业务逻辑
uglify2:{
options: {
banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
//添加文字到压缩后的文件尾部
// footer:'/*! 这是压缩文件尾部 */',
//美化代码
beautify: {
//中文ascii化,非常有用!防止中文乱码的神配置
ascii_only: true
},
/*
build: {
src: 'public/module/p.fortest.js',
dest: 'public/module/p.fortest.min.js'
} */
minjs: { //最小化、混淆所有 js/ 目录下的 JavaScript 文件
files: [{
expand: true,
cwd: 'static/module/',
src: ['**/*.js', '!**/*.min.js'],
dest: 'static/module/'
//,ext: '.min.js'
,rename: function (dest, src) {
var folder = src.substring(0, src.lastIndexOf('/'));
var filename = src.substring(src.lastIndexOf('/'), src.length);
// var filename=src;
filename = filename.substring(0, filename.lastIndexOf('.'));
var fileresult=dest + folder + filename + '.min.js';
grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult);
return fileresult;
//return filename + '.min.js';
}
}]
}
}
,uglify: {
front:{
options: {
banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
//添加文字到压缩后的文件尾部
footer:'/*! 这是压缩文件尾部 */',
//美化代码
beautify: {
//中文ascii化,非常有用!防止中文乱码的神配置
ascii_only: true
},
/*
build: {
src: 'public/module/p.fortest.js',
dest: 'public/module/p.fortest.min.js'
} */
files: [{
expand: true,
cwd: 'public/module/',
src: ['*.js', '!*.min.js'],
dest: 'public/module/'
// ,ext: '.min.js'
,rename: function (dest, src) {
var folder = src.substring(0, src.lastIndexOf('/'));
var filename = src.substring(src.lastIndexOf('/'), src.length);
// var filename=src;
filename = filename.substring(0, filename.lastIndexOf('.'));
var fileresult=dest + folder + filename + '.min.js';
grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult);
return fileresult;
//return filename + '.min.js';
}
}]
}
,backend:{
options: {
banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
//添加文字到压缩后的文件尾部
footer:'/*! 这是压缩文件尾部 */',
//美化代码
beautify: {
//中文ascii化,非常有用!防止中文乱码的神配置
ascii_only: true
},
/*
build: {
src: 'public/module/p.fortest.js',
dest: 'public/module/p.fortest.min.js'
} */
files: [{
expand: true,
cwd: 'static/module/',
src: ['**/*.js', '!**/*.min.js'],
dest: 'static/module/'
//,ext: '.min.js'
,rename: function (dest, src) {
var folder = src.substring(0, src.lastIndexOf('/'));
var filename = src.substring(src.lastIndexOf('/'), src.length);
// var filename=src;
filename = filename.substring(0, filename.lastIndexOf('.'));
var fileresult=dest + folder + filename + '.min.js';
grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult);
return fileresult;
//return filename + '.min.js';
}
}]
}
}
});
// 加载提供"uglify"任务的插件
grunt.loadNpmTasks('grunt-contrib-uglify');
// 默认任务
// grunt.registerTask('default', ['uglify']);
// grunt.registerMultiTask('log', 'Log stuff.', function() {grunt.log.writeln("开始执行任务。");});
// grunt.registerMultiTask('default', ['uglify']);
grunt.registerTask('default','',function(){
grunt.log.writeln('前台js压缩');
grunt.task.run('uglify:front');
grunt.log.writeln('后台js压缩');
grunt.task.run('uglify:backend');
});
// grunt.registerMultiTask('default2', ['uglify']);
// grunt.registerMultiTask('log', 'Log stuff.', function() {grunt.log.writeln("任务执行完毕");});
}
grunt压缩js多个任务的样板
最新推荐文章于 2019-11-21 14:27:54 发布