ionic如何uglify和minify你的js,css,image,png....

Install:
   1.ionic start myapp blank 
    2.cd myapp
    3.npm install cordova-uglify or npm install cordova-uglify --legacy-bundling
Useage:
1.找到hooks/uglify-config.json
2.将第一行代码"alwaysRun": false 改为"alwaysRun": true,
3.运行ionic platform add android,ionic build android 
4.查看plaforms/android/assets/www/目录下的所有文件,是否uglify和minify
图片
U福利:(自动js纠错功能) 
1.安装:
npm install jshint
npm install async
2.手动新建文件
 在hooks目录下新建文件夹“before_prepare”,该文件夹下新建文件“02_jshint.js”
 将以下内容粘贴到新建文件里:
 
 1 #!/usr/bin/env node
 2  
 3 var fs = require('fs');
 4 var path = require('path');
 5 var jshint = require('jshint').JSHINT;
 6 var async = require('async');
 7  
 8 var foldersToProcess = [
 9     'js'
10 ];
11  
12 foldersToProcess.forEach(function(folder) {
13     processFiles("www/" + folder);
14 });
15  
16 function processFiles(dir, callback) {
17     var errorCount = 0;
18     fs.readdir(dir, function(err, list) {
19         if (err) {
20             console.log('processFiles err: ' + err);
21             return;
22         }
23         async.eachSeries(list, function(file, innercallback) {
24             file = dir + '/' + file;
25             fs.stat(file, function(err, stat) {
26                 if(!stat.isDirectory()) {
27                     if(path.extname(file) === ".js") {
28                         lintFile(file, function(hasError) {
29                             if(hasError) {
30                                 errorCount++;
31                             }
32                             innercallback();
33                         });
34                     } else {
35                         innercallback();
36                     }
37                 } else {
38                     innercallback();
39                 }
40             });
41         }, function(error) {
42             if(errorCount > 0) {
43                 process.exit(1);
44             }
45         });
46     });
47 }
48  
49 function lintFile(file, callback) {
50     console.log("Linting " + file);
51     fs.readFile(file, function(err, data) {
52         if(err) {
53             console.log('Error: ' + err);
54             return;
55         }
56         if(jshint(data.toString())) {
57             console.log('File ' + file + ' has no errors.');
58             console.log('-----------------------------------------');
59             callback(false);
60         } else {
61             console.log('Errors in file ' + file);
62             var out = jshint.data(),
63             errors = out.errors;
64             for(var j = 0; j < errors.length; j++) {
65                 console.log(errors[j].line + ':' + errors[j].character + ' -> ' + errors[j].reason + ' -> ' +
66 errors[j].evidence);
67             }
68             console.log('-----------------------------------------');
69             callback(true);
70         }
71     });
72 }

 

3.重新运行ionic build android
 将在编译过程看到一下代码
 图片
表示你的js代码没有错误!

 

posted @ 2016-08-29 10:18  像一句广告  阅读(880)  评论(0编辑  收藏  举报