將vue項目打包成移動端app


首先打包你的 vue 項目 生成 dist 文件夾,教程請移步  https://www.cnblogs.com/taohuaya/p/10256670.html

看完上面的教程,請確保 你是 將:

項目目錄下的config文件夾里的index.js文件中,將build對象下的assetsPublicPath中的“/”,改為“./”后,打包生成的 dist 文件。

 

開始使用 HBuiderX 打包。(工具下載地址:http://www.dcloud.io/)

 

 

 

 

 這是我vue 項目打包后的dist 文件。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 設置沉浸狀態欄:(什么是沉浸狀態欄和設置方法 請移步: http://ask.dcloud.net.cn/article/32  地址里的  http://ask.dcloud.net.cn/article/1150)

 上圖中添加位置的代碼:

        "statusbar": { //應用可視區域到系統狀態欄下透明顯示效果
            "immersed": true
        },

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 解決打包成App后,單擊 手機返回鍵退出應用的bug。(可以直接把這段代碼放到你vue項目中,重新打包,再放回來,也可以直接修改這個index.html)

上圖中的代碼: 

復制代碼
<script type="text/javascript">
    //如下代碼主要是解決, 打包后的app點擊返回鍵直接退出的bug.
    /* 自己寫的 toast 提示框 */
    //下面用的是調的 Android 自身的 toast方法。 我把我自己寫的toast 注釋掉 
    /* 
    let flag = false;
    function toast(tip){
        if(flag) return;
        let oDiv  = document.createElement('div');
        let oBody = document.getElementsByTagName('body')[0];
        oDiv.innerText = tip;
        oDiv.style.background = 'rgba(50, 50, 51, 0.88)';
        oDiv.style.color = '#fff';
        oDiv.style.textAlign = 'center';
        oDiv.style.fontSize = '14px';
        oDiv.style.lineHeight = '30px';
        oDiv.style.width = '200px';
        oDiv.style.borderRadius = '4px';
        oDiv.style.position = 'fixed';
        oDiv.style.left = '50%';
        oDiv.style.transform = 'translateX(-50%)';
        oDiv.style.bottom = '100px';
        oDiv.style.zIndex = '1000';
        oBody.appendChild(oDiv);
        flag = true;
        setTimeout(function(){
            oBody.removeChild(oDiv);
            flag = false;
        },1000);
    }
     */
    /* 自己寫的 toast 提示框---END--- */
    
    document.addEventListener('plusready', function(a) { //等待plus ready后再調用5+ API:
                //// 在這里調用5+ API
                var first = null;
                plus.key.addEventListener('backbutton', function() { //監聽返回鍵
                        //首次按鍵,提示‘再按一次退出應用’
                        if (!first) {
                            first = new Date().getTime(); //獲取第一次點擊的時間戳
                            // console.log('再按一次退出應用');//用自定義toast提示最好
                            // toast('雙擊返回鍵退出應用'); //調用自己寫的吐絲提示 函數
                            plus.nativeUI.toast("雙擊退出", {duration:'short'}); //通過H5+ API 調用Android 上的toast 提示框
                            setTimeout(function() {
                                first = null;
                            }, 1000);
                        } else {
                            if (new Date().getTime() - first < 1000) { //獲取第二次點擊的時間戳, 兩次之差 小於 1000ms 說明1s點擊了兩次,
                                plus.runtime.quit(); //退出應用
                            }
                        }
                    }, false);
            });
</script>
復制代碼

 

 上面這段代碼:我參考的文章和文檔鏈接:

https://blog.csdn.net/qq_25252769/article/details/76913083

這個是 H5+ API 的(通過js調取Android等平台的原生方法)學習鏈接:http://ask.dcloud.net.cn/docs/

 

轉載自CSDN:
作者:暗戀桃花源丫 
原文地址: https://www.cnblogs.com/taohuaya/p/10263519.html
聲明:本博文只用於知識分享與傳遞信息,如涉及作品內容、版權和其它問題,請在30日內與本人聯系,我將在第一時間刪除內容!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM