grunt 自定义任务实现js文件的混淆及加密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了grunt 自定义任务实现js文件的混淆及加密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2218字,纯文字阅读大概需要4分钟。
内容图文
1 // 自定义任务 2 module.exports = function (grunt) { 3// 项目配置 4var http = require(‘http‘); 5var qs = require(‘querystring‘); 6var fs=require("fs"); 7 8function write(name,temp){ 9 fs.writeFile("./release/"+name,temp,"utf8",function(err){ 10if(err){ 11 grunt.log.error(‘BODY: ‘ + err); 12 } 13 }); 14 } 1516 grunt.initConfig({ 17 minJs:{ 18 version:"0.9.7", 19 rootPath:"./online/", 20 resource:[{src:"RongIMClient.js",nameList:"RongIMClient.min.js,RongIMClient-0.9.7.min.js",operate:"pack"}, 21 {src:"emoji-0.9.2.js",nameList:"RongIMClient.Emoji-0.9.2.min.js",operate:"pack"}, 22 {src:"protobuf.js",nameList:"protobuf.min.js",operate:"uglify"}, 23 {src:"swfobject.js",nameList:"swfobject.min.js",operate:"uglify"}, 24 {src:"voice-0.9.1.js",nameList:"RongIMClient.voice-0.9.1.min.js",operate:"pack"}, 25 {src:"xhrpolling.js",nameList:"xhrpolling.min.js",operate:"uglify"}], 26 env:"Release" 27 } 28 }); 29 grunt.registerTask(‘minJs‘, ‘自定义压缩js文件‘, function () { 3031this.async(); 3233 grunt.log.writeln(‘Processing task...‘); 343536var options = { 37 hostname: ‘tool.lu‘, 38 port: 80, 39 path: ‘/js/ajax.html‘, 40 method: ‘POST‘, 41 headers: { 42 ‘Content-Type‘: ‘application/x-www-form-urlencoded‘ 43 } 44 }; 45 grunt.config("minJs.resource").forEach(function(x){ 46 fs.readFile(grunt.config("minJs.rootPath")+ x.src,"utf8",function(err,data){ 47if(err){ 48 grunt.log.error(err); 49return; 50 } 51if(grunt.config("minJs.env")==="Release"){ 52 data=data.replace(/\["navUrl-Debug"\]/g,"[\"navUrl-Release\"]"); 53 } 54var post_data = { 55 code: data, 56 operate: x.operate 57 }; 58var req = http.request(options, function (res) { 59 res.setEncoding(‘utf8‘); 60var chunk=""; 61 res.on(‘data‘, function (data) { 62 chunk+=data; 63 }); 64 res.on("end",function(){ 65var temp=JSON.parse(chunk); 66if(temp.status===true){ 67 x.nameList.split(",").forEach(function(name){ 68 write(name,temp.text); 69 }); 70 }else{ 71 grunt.log.error(temp.message); 72 } 73 }) 74 }); 75 req.on(‘error‘, function (e) { 76 grunt.log.error(‘problem with request: ‘ + e.message); 77 }); 78 req.write(qs.stringify(post_data)); 79 req.end(); 80 }); 81 }); 8283 }); 84 };
原文:http://www.cnblogs.com/doublenet/p/4387682.html
内容总结
以上是互联网集市为您收集整理的grunt 自定义任务实现js文件的混淆及加密全部内容,希望文章能够帮你解决grunt 自定义任务实现js文件的混淆及加密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。