以下通過gulp tasks和cordova hooks來保護你的源**。
・gulp tasks - ionic serve時執行
・cordova hooks - ionic build/run時執行
[b](0)建立乙個ionic工程[/b]
首先編譯乙個除錯用的apk,以後的發布版apk作對比。
[b](1)(cordova hook)js**的lint[/b]
混淆js**的前提要保準js**沒有錯誤。
安裝jshint
hook檔案
編譯[quote]linting www/js/controllers.js
errors in file www/js/controllers.js
9:4 -> missing semicolon. -> }[/quote]
ionic的sample工程controllers.js有錯誤,第九行缺少分號。
修改錯誤提示,直到build成功。
[b](2)(gulp task)把html模板轉換為angularjs模板[/b]
安裝gulp-angular-templatecache
修改gulpfile.js
var templatecache = require('gulp-angular-templatecache');
var paths = ;
gulp.task('templatecache', function (done) ))
.pipe(gulp.dest('./www/js'))
.on('end', done);
});gulp.task('default', ['sass', 'templatecache']);
gulp.task('watch', function() );
修改ionic.project
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'templates'])
修改index.html
$templatecache.put("tabs.html", ...
->
$templatecache.put("templates/tabs.html", ...
[b](3)(gulp task)開啟ng-strict-di[/b]
安裝gulp-ng-annotate
修改gulpfile.js
修改ionic.project
修改index.html
js會被重新生成到一下,並且嚴格符合注入標準
[b](4)(gulp task)合併js、css檔案[/b]
安裝gulp-useref
修改gulpfile.js
var useref = require('gulp-useref');
var paths = ;
gulp.task('useref', function (done) );
gulp.task('default', ['sass', 'templatecache', 'ng_annotate', 'useref']);
gulp.task('watch', function() );
修改ionic.project
修改index.html
生成以下檔案:
[b](5)(cordova hook)混淆**[/b]
安裝cordova-uglify
01_jshint.js
020_remove_sass_from_platforms.js
030_clean_dev_files_from_platforms.js
040_move_dist_files_to_platforms.js
050_clean_obfuscation.js
060_uglify.js
資料夾裡已經有的uglify.js可以刪掉。
[img]
index.html對比
[img]
參考:
ionic如何建立乙個元件 photoSwipe
首先建立乙個module ionic g module module shared 主要用於管理所有的元件,index.ts匯出這個module 建立乙個總元件moduleionic g module shared components,在這個module裡匯出和宣告所有的元件 index.ts裡匯...
如何製作乙個vagrant box
因為要用的視窗應用,基於伺服器的各種box不能使用 曾經嘗試安裝桌面,沒有成功 所以試著基於ubuntu的虛擬機器建立自己的box。主要過程簡述如下 1 安裝virtualbox 2 安裝 vagrant root密碼 vagrant 使用者名稱 vagrant 使用者密碼 vagrant 4 完成...
如何發布乙個WebService
jdk版本 j a1.6 45 1 import j ax.jws.webmethod 2 import j ax.jws.webservice 3 import j ax.xml.ws.endpoint 4 5 webservice 給類新增註解 6 public class helloworld...