//自定义任务
module.exports = function (grunt) {
// 项目配置
var http = require('http');
var qs = require('querystring');
var fs=require("fs"); function write(name,temp){
fs.writeFile("./release/"+name,temp,"utf8",function(err){
if(err){
grunt.log.error('BODY: ' + err);
}
});
} grunt.initConfig({
minJs:{
version:"0.9.7",
rootPath:"./online/",
resource:[{src:"RongIMClient.js",nameList:"RongIMClient.min.js,RongIMClient-0.9.7.min.js",operate:"pack"},
{src:"emoji-0.9.2.js",nameList:"RongIMClient.Emoji-0.9.2.min.js",operate:"pack"},
{src:"protobuf.js",nameList:"protobuf.min.js",operate:"uglify"},
{src:"swfobject.js",nameList:"swfobject.min.js",operate:"uglify"},
{src:"voice-0.9.1.js",nameList:"RongIMClient.voice-0.9.1.min.js",operate:"pack"},
{src:"xhrpolling.js",nameList:"xhrpolling.min.js",operate:"uglify"}],
env:"Release"
}
});
grunt.registerTask('minJs', '自定义压缩js文件', function () { this.async(); grunt.log.writeln('Processing task...'); var options = {
hostname: 'tool.lu',
port: 80,
path: '/js/ajax.html',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
grunt.config("minJs.resource").forEach(function(x){
fs.readFile(grunt.config("minJs.rootPath")+ x.src,"utf8",function(err,data){
if(err){
grunt.log.error(err);
return;
}
if(grunt.config("minJs.env")==="Release"){
data=data.replace(/\["navUrl-Debug"\]/g,"[\"navUrl-Release\"]");
}
var post_data = {
code: data,
operate: x.operate
};
var req = http.request(options, function (res) {
res.setEncoding('utf8');
var chunk="";
res.on('data', function (data) {
chunk+=data;
});
res.on("end",function(){
var temp=JSON.parse(chunk);
if(temp.status===true){
x.nameList.split(",").forEach(function(name){
write(name,temp.text);
});
}else{
grunt.log.error(temp.message);
}
})
});
req.on('error', function (e) {
grunt.log.error('problem with request: ' + e.message);
});
req.write(qs.stringify(post_data));
req.end();
});
}); });
};

最新文章

  1. [原]在GeoServer中为OpenStreetMap数据设置OSM样式
  2. HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用
  3. linux 连接到阿里云服务器
  4. CSS高级选择符
  5. ARM学习篇 SDRAM理解
  6. Codeforces #Round 376 F 题解
  7. 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画
  8. 网络存储技术介绍(1) ( based on zt)
  9. hihocoder 1181 欧拉路.二
  10. 小米1plus MIUI RadioButton的问题
  11. C# progressbar 用法
  12. windows7 64 位 mysql 5.6.12 安装
  13. sqlite3 小结
  14. codeforces257 div2 D最短路条数
  15. UVA 10129 Play on Words
  16. poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)
  17. C++ Socket学习记录 -1
  18. Go Web:自带的ServeMux multiplexer
  19. 51nod1158 最大子矩形 单调栈应用
  20. can't access lexical declaration `a' before initialization

热门文章

  1. HDU3251 最大流(最小割)
  2. IAR ------ 扩展关键字__weak
  3. 深度学习---tensorflow简介
  4. mysql concat update中拼接字符串
  5. 2017.6.11 NOIP模拟赛
  6. vijos 1655 萌萌的糖果博弈 博弈
  7. Eclipse Support UTF-8
  8. Yii2实现读写分离(MySQL主从数据库)
  9. js_返回上一页(兼容苹果手机)
  10. css控制文字换行