用vue快速開發(fā)app的腳手架工具
前言
多頁面應(yīng)用于結(jié)構(gòu)較于簡單的頁面,因?yàn)楹喆鸬捻撁媸褂胷outer又過于麻煩.本腳手架出于這樣的場(chǎng)景被開發(fā)出來.
使用腳手架搭配Hbuilder也同樣可以快速使用vue開發(fā)安卓和IOS APP.
本文最大特點(diǎn):
- webpack4
- 多頁面
- 跨域Proxy代理
- VConsole移動(dòng)端調(diào)試,手機(jī)上的開發(fā)者工具
- es6/es7 babel 轉(zhuǎn)換
項(xiàng)目地址 GitHub
使用手冊(cè)
MogoH5+ 是一個(gè) vue 多頁面 腳手架工具 ,結(jié)合 H5+可以快速開發(fā)安卓與蘋果 APP.
即使不適用 Hbuilder 打包成 APP,本腳手架同樣可以作為多頁面網(wǎng)頁生成的參考項(xiàng)目.
特性
- 支持 Npm 生態(tài)
- 支持 vue 語法,以及 vue 生態(tài),比如 vux,mint,vant
- 支持 ES6/ES7 語法
- 使用 VConsole 調(diào)試
- VSCode 友好
- 局域網(wǎng)便捷調(diào)試
- 兼容部分 mui 語法
這些特性其實(shí)不是什么新鮮特性,只是單獨(dú)在 Hbuilder 無法使用.
快速上手
直接下載項(xiàng)目然后根據(jù)需求定制打包,最后通過 Hbuilder 云打包即可生成 APP.
本文自帶一個(gè)案例是使用 VantUI 開發(fā)的幾個(gè)界面,如果你喜歡其他 UI 同樣可以替換成其他的 UI.
// 1.安裝模塊 npm i // or yarn // 2.調(diào)試 npm start // 將manifest.json 的`頁面入口` 修改成 http://your_ip:8082/ // 3.打包 npm run build
使用
主要怎么使用 MogoH5+做正式的開發(fā),在開發(fā)過程中一定要遵守 目錄規(guī)則 ,否則會(huì)有意想不到的錯(cuò)誤.
目錄結(jié)構(gòu)
. ├── docs // 文檔 ├── index.html // 入口模板 ├── jsconfig.json //js配置 ├── manifest.json //hbuilder 入口文件 ├── src │ ├── components //組件文件夾 │ │ └── List.vue //組件 │ ├── index.js //主頁入口文件 │ ├── index.vue // 主頁vue文件 │ ├── page // 頁面 │ └── utils // 工具 ├── unpackage // hbuilder 構(gòu)建目錄 │ └── res └── webpack.config.js //webpack配置目錄
新建頁面
假如我們要新建一個(gè)名稱為 list 的頁面作為商品列表,我們就要在 ./src/page/goods 下新建 list.js 和 list.vue 兩個(gè)文件. list.js 作為多頁面的入口, list.vue ,腳手架自帶了幾個(gè)頁面可供參考.
遵循相對(duì)路徑原則,如果在 src 訪問這個(gè)頁面則就是 ./goods/list.html !!! 后綴一定是 .html
新建組件
組件放入 ./src/components 目錄下,如果組件較多,可自行建立目錄.比如 demo 中使用的 Logo 組件可以作為參考.
新建工具庫
工具庫 ./src/utils 主要放一些公用函數(shù),比如請(qǐng)求,打開 webview,支付,分享等執(zhí)行函數(shù). demo 中封裝了部分來自 mui 的函數(shù)比如 自定義事件 , webview .這些函數(shù)可以作為參考.
common.js` 是每個(gè)頁面都需要加載的一個(gè) js,里面加載了`fastclick`和`vconsole`.如果全局需要加統(tǒng)計(jì),全局執(zhí)行的函數(shù),可以放在這個(gè)文件里面.
`./src/utils` 做了 `alias`別名,可以 直接這樣加載 `import common from "Utils/common"`.
發(fā)送請(qǐng)求
請(qǐng)求庫
demo 的請(qǐng)求使用的是 axios ,同樣你喜歡什么庫都可以自己去封裝.
常見的請(qǐng)求庫有 fetch , request , SuperAgent , jquery-ajax .
跨域
由于 npm start 后,調(diào)試網(wǎng)頁是掛在局域網(wǎng)上,并且作為 Hbuilder 的 頁面入口 ,因此,在請(qǐng)求時(shí)會(huì)出現(xiàn) 跨域 .
在 ./build.js 中使用本地代理,將下面的 https://api.douban.com 修改成自己使用的業(yè)務(wù)域名即可.
proxy: {
"/api": {
name:"DOUBANAPI", // 自己取名
target: "https://api.douban.com",
pathRewrite: { "^/api": "" },
changeOrigin: true,
secure: false
},
"/baidu_api": {
name:"BAIDUAPI", // 自己取名
target: "https://api.baidu.com",
pathRewrite: { "^/api": "" },
changeOrigin: true,
secure: false
},
...
}
如果有更多業(yè)務(wù)域名可以繼續(xù)在 proxy 添加.
只有開發(fā)的時(shí)候才會(huì)有跨域問題,打包后的文件網(wǎng)址會(huì)被替換成被代理的網(wǎng)址,因此發(fā)送請(qǐng)求一定要加上名稱 DOUBANAPI
request({
url: DOUBANAPI + "/bookList"
});
調(diào)試
在 Hbuilder 中調(diào)試會(huì)有諸多問題,比如:
- 不能直接打印 數(shù)組 , 對(duì)象 ,需要轉(zhuǎn)成字符串.
- 即使使用 webview調(diào)試 ,仍然不能打印出數(shù)組,在 mac 上使用也非常不方便.
使用 VConsole ,調(diào)試的問題基本就脫離 Hbuilder 了,使用 VConsole 主要優(yōu)點(diǎn)如下
- 可以打印數(shù)組,對(duì)象
- 可以查看請(qǐng)求,cookie,Localstorage
- 在System欄目中可以看到頁面加載速度
- 可以查看元素
基本上就是一個(gè)簡化的 開發(fā)者工具欄 ,對(duì)于調(diào)試來說非常簡便了.
打包
npm run build
運(yùn)行命令后會(huì)有一個(gè) dist 目錄,里面的經(jīng)過壓縮的靜態(tài)文件.
Hbuilder 發(fā)行打包
在使用 Hbuilder 制作安裝包前,請(qǐng)將 入口文件 修改成 dist/index.html . 然后可以安心的打包了.
兼容 mui.js
對(duì)于兼容 mui 部分函數(shù)的問題,已經(jīng)在移植部分函數(shù)到Utils中,在未來的更新中會(huì)慢慢移植.
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vuex中遇到的坑,vuex數(shù)據(jù)改變,組件中頁面不渲染操作
這篇文章主要介紹了vuex中遇到的坑,vuex數(shù)據(jù)改變,組件中頁面不渲染操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue動(dòng)態(tài)繪制四分之三圓環(huán)圖效果
這篇文章主要介紹了vue動(dòng)態(tài)繪制四分之三圓環(huán)圖效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
ElementUI中el-dropdown-item點(diǎn)擊事件無效問題
這篇文章主要介紹了ElementUI中el-dropdown-item點(diǎn)擊事件無效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
vue搭建本地JSON靜態(tài)數(shù)據(jù)服務(wù)器全過程
這篇文章主要介紹了vue搭建本地JSON靜態(tài)數(shù)據(jù)服務(wù)器全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
客戶端(vue框架)與服務(wù)器(koa框架)通信及服務(wù)器跨域配置詳解
本篇文章主要介紹了客戶端(vue框架)與服務(wù)器(koa框架)通信及服務(wù)器跨域配置詳解,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08

