Vue項目打包成移動端APP

Vue項目打包成移動端APP

需要準備的工具:Hbuilder

目錄

Vue項目打包成移動端APP

首先打包vue到dist目錄

然後再Hbuilder中打開dist目錄

然後將dist包含的 web項目 轉換爲 移動 APP項目

前幾步配置完成後,就可以在手機上進行真機調試了

真機測試沒有問題,就可以進行下一步---》打包apk了

最後將apk安裝包安裝到手機上就可以正常使用了


首先打包vue到dist目錄

npm run build

然後再Hbuilder中打開dist目錄

首先可以看到dist目錄的圖片是一個 W 字樣的圖標,表示這是一個 web項目

然後將dist包含的 web項目 轉換爲 移動 APP項目

 此時可以看到dist目錄的文件圖標由 W 變成了 A,說明此時的web項目已經變成了移動APP項目 ,而且此時生成了一個新的文件manifest.json

下面要做的就是在manifest.json中配置移動APP所需要的配置項

應用信息配置

appid需要登錄後才能獲取

圖標配置

啓動圖片

SDK配置

模塊權限配置

頁面引用關係

頁面引用關係分析並不是完全正確的,對於未被檢測到文件需要手動添加到打包項目中去

代碼視圖

此視圖中會顯示所有的配置信息

前幾步配置完成後,就可以在手機上進行真機調試了

首先使用usb數據線連接自己的手機,然後將手機設置爲開發者模式中的USB調試模式

接下來就是啓動Hbuilder真機調試了

連接後,會在手機上自動安裝一個HbuilderAPP,用於真機調試

真機測試沒有問題,就可以進行下一步---》打包apk了

菜單欄點擊【發行】【雲打包-打原生安裝包】

最後將apk安裝包安裝到手機上就可以正常使用了


Vue打包成.apk安裝的過程中遇到的問題

問題1:打包成的apk在真機上顯示空白界面

原因:項目文件路徑引用錯誤,導致文件加載爲404

vue打包後的文件時存在於dist目錄下的,也就是說dist目錄作爲根目錄。

在dist目錄中啓動一個本地服務其訪問地址爲http://localhost:8080/index.html,即可訪問首頁dist目錄下的index.html文件並加載對應的js,css文件,也就是說文件啓動根目錄是和dist目錄中的index.html是平級的。

- dist
-- css
-- img
-- js
-- index.html
-- 啓動的根目錄

而打包成apk文件後在真機上測試,其訪問的地址爲http://localhost:8080/dist/index.html,多了一層dist,導致頁面空白,加載的文件爲404找不到,也就是說打包後的啓動目錄的根目錄是個dist平級的不是和dist目錄中的index.html平級。

- dist
-- css
-- img
-- js
-- index.html
- 啓動的根目錄

 解決方法:

在vue打包成dist文件前,修改vue.config.js配置文件,將打包文件的資源文件更改爲當前目錄下的絕對路徑

mudule.exports = {
    // publicPath: '/',
    publicPath: './'
}

問題2:首屏展示後,路由無法跳轉,點擊無效

原因:文件動態加載的資源地址404找不到

因爲動態加載的資源地址爲http://localhost:8080/css/xxx.css和http://localhost:8080/js/xxx.js,而實際上文件的資源路徑是http://localhost:8080/dist/css/xxx.css和http://localhost:8080/dist/js/xxx.js說加載動態加載的資源均爲404

解決方法:

更改vue項目中的路由模型配置:將H5的歷史記錄模式改爲hash模式

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
    // mode: 'history',
    mode: 'hash'
})

export default router

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章