通過(guò)cordova將vue項(xiàng)目打包為webapp的方法
準(zhǔn)備工作:需要之前配置好vue-cli腳架構(gòu),安裝好cordova環(huán)境。下面開(kāi)始對(duì)vue.js項(xiàng)目進(jìn)行打包,打包環(huán)境為Android。
可以看下我的github:https://github.com/padipata ,里面有我自己寫(xiě)的vue項(xiàng)目,喜歡的給個(gè)關(guān)注唄。
1.添加cordova項(xiàng)目
$ cordova create myApp1 org.apache.cordova.myApp myApp2
其中:
- myApp1:cordova目錄名
- org.apache.cordova.myApp: 包名
- myApp2: 項(xiàng)目名(在config.xml的<name>中查看)
2.在vue中添加cordova的配置
myApp1/www/index.html----->vue/index.html
- 將myApp1/www/index.html中所有的<meta>拷貝到vue/index.html中
- 將myApp1/www/index.html中<script>關(guān)于cordova.js的引用拷貝到vue/index.html中
myApp1/www/js/index.js----->vue/vuex/main.js
var app = { // Application Constructor initialize: function() { thisbindEvents(); }, // Bind Event Listeners // // Bind any events that are required on startup Common events are: // 'load', 'deviceready', 'offline', and 'online' bindEvents: function() { documentaddEventListener('deviceready', thisonDeviceReady, false); }, // deviceready Event Handler // // The scope of 'this' is the event In order to call the 'receivedEvent' // function, we must explicitly call 'appreceivedEvent();' onDeviceReady: function() { appreceivedEvent('deviceready'); }, // Update DOM on a Received Event receivedEvent: function(id) { var parentElement = documentgetElementById(id); var listeningElement = parentElementquerySelector('listening'); var receivedElement = parentElementquerySelector('received'); listeningElementsetAttribute('style', 'display:none;'); receivedElementsetAttribute('style', 'display:block;'); consolelog('Received Event: ' + id); } }; appinitialize();
1)內(nèi)容拷貝到vue/src/vuex/main.js中
2)onDeviceReady時(shí)啟動(dòng)app
onDeviceReady: function () { //appreceivedEvent('deviceready'); appRouterstart(App, 'app') windownavigatorsplashscreenhide() }
3.創(chuàng)建android項(xiàng)目
終端中進(jìn)入到myApp1 項(xiàng)目,執(zhí)行以下命令:
cordova platform add android
這時(shí)候vue項(xiàng)目中會(huì)得到一個(gè)android文件夾,里面包含一個(gè)測(cè)試版本的apk,可以傳輸?shù)绞謾C(jī)上調(diào)試。
4.添加cordova插件
終端中進(jìn)入到vue項(xiàng)目,執(zhí)行以下命令:
cordova plugin add xxxx
5. 構(gòu)建 vue項(xiàng)目
許多人掉過(guò)這個(gè)坑,打包出來(lái)的apk是一個(gè)cordova默認(rèn)的空白項(xiàng)目,因此,需要在打包vue之前在這里把配置文件修改過(guò)來(lái)?!?/p>
終端中進(jìn)入到vue項(xiàng)目,執(zhí)行以下命令:npm run build
6.文件轉(zhuǎn)移
將dist文件夾下的文件,拷貝到cordova/platforms/androd/assets/www目錄下 (index.html替代掉原本的)
7.構(gòu)建cordova項(xiàng)目
從終端進(jìn)入到myApp1/platforms/android/cordova目錄下,執(zhí)行以下命令:
cordova build android //構(gòu)建apk
配置JDK環(huán)境(這里只對(duì)mac os進(jìn)行記錄,Win系統(tǒng)請(qǐng)自行腦補(bǔ)):
cd ~ 進(jìn)入到~目錄
touch .bash_profile
vi .bash_profile 使用vi編輯器編輯 .bash_profile文件
然后輸入 i ,在vi編輯器里面輸入 i 的意思是開(kāi)始編輯。
vi編輯器里面的內(nèi)容如下:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH: export JAVA_HOME export CLASSPATH export PATH
然后退出vi編輯器使用如下命令:(個(gè)人習(xí)慣 :wq!回車)
1. 輸入ese
2. 輸入冒號(hào): wq
3. 保存退出
如果以上修改完畢切正確,那么接下來(lái)就是讓配置的環(huán)境變量生效,使用如下命令:source .bash_profile
完畢以后查看下當(dāng)前的java 版本是否正確輸入如下命令:java -version
如果是預(yù)想中的1.8,那么恭喜你,你這個(gè)時(shí)候就可以執(zhí)行: cordova build android
cordova run android //構(gòu)建apk,并安裝到連接的設(shè)備上 ?。ò磦€(gè)人需求)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 淺談vue項(xiàng)目利用Hbuilder打包成APP流程,以及遇到的坑
- vue項(xiàng)目打包為APP,靜態(tài)資源正常顯示,但API請(qǐng)求不到數(shù)據(jù)的操作
- vue-cli或vue項(xiàng)目利用HBuilder打包成移動(dòng)端app操作
- 初試vue-cli使用HBuilderx打包app的坑
- vue項(xiàng)目中使用Hbuilder打包app 設(shè)置沉浸式狀態(tài)欄的方法
- 使用vue打包時(shí)vendor文件過(guò)大或者是app.js文件很大的問(wèn)題
- Vue項(xiàng)目如何打包成移動(dòng)端APP
相關(guān)文章
Vue3使用Echarts導(dǎo)致tooltip失效問(wèn)題及解決方法
Vue3 使用 proxy 對(duì)象代理,而 echarts 則使用了大量的全等(===), 對(duì)比失敗從而導(dǎo)致了bug,這篇文章主要介紹了Vue3使用Echarts導(dǎo)致tooltip失效問(wèn)題及解決方法,需要的朋友可以參考下2023-08-08Vue2.5 結(jié)合 Element UI 之 Table 和 Pagination 組件實(shí)現(xiàn)分頁(yè)功能
這篇文章主要介紹了Vue2.5 結(jié)合 Element UI 之 Table 和 Pagination 組件實(shí)現(xiàn)分頁(yè)功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01vue3中echarts的tooltip組件不顯示問(wèn)題及解決
這篇文章主要介紹了vue3中echarts的tooltip組件不顯示問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue+vant實(shí)現(xiàn)商品列表批量倒計(jì)時(shí)功能
這篇文章主要介紹了vue+vant實(shí)現(xiàn)商品列表批量倒計(jì)時(shí)功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01vuex刷新頁(yè)面后如何解決丟失store的數(shù)據(jù)問(wèn)題
這篇文章主要介紹了vuex刷新頁(yè)面后如何解決丟失store的數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12vue ElementUI的from表單實(shí)現(xiàn)登錄效果的示例
本文主要介紹了vue ElementUI的from表單實(shí)現(xiàn)登錄效果的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09