如何製作乙個發布版的ionic應用?

2021-09-02 10:38:40 字數 2197 閱讀 7520

以下通過gulp tasks和cordova hooks來保護你的源**。

・gulp tasks - ionic serve時執行

・cordova hooks - ionic build/run時執行

[b](0)建立乙個ionic工程[/b]

[email protected]

[email protected]

首先編譯乙個除錯用的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...