mpvue 小程式框架 入門

TrentZ發表於2018-08-01

一、快速搭建基礎專案

官方網站中已經對這一步做了很詳細的介紹,所以這裡就簡單的描述下。

# 1. 全域性安裝 vue-cli
# 一般是要 sudo 許可權的
$ npm install --global vue-cli

# 2. 建立一個基於 mpvue-quickstart 模板的新專案
# 新手一路回車選擇預設就可以了
$ vue init mpvue/mpvue-quickstart my-project

# 3. 安裝依賴
$ cd my-project
$ npm install
$ npm run dev
複製程式碼

詳細請訪問mpvue官方網站

1、搭建小程式開發環境

小程式的開發需要配合微信專門的開發工具,當然這一步也是比較簡單的,將開發工具下載後按照提示進行安裝即可。

安裝完畢以後,基本的小程式開發環境就已經準備完畢啦,在開發工具中將上一步建立的專案拉入就可以預覽基礎的demo啦。

二、專案的開發目錄

mpvue 小程式框架 入門
dist 為打包完成的小程式目錄

src 是開發目錄

  • main.js中的配置檔案會打包成小程式的app.json配置檔案,所以可以在這裡進行配置相應的資訊,例如:配置導航欄
export default {
    config: {
        // 頁面前帶有 ^ 符號的,會被編譯成首頁,其他頁面可以選填,
        我們會自動把 webpack entry 裡面的入口頁面加進去
        pages: ['pages/logs/main', '^pages/index/main'],
        window: {
          backgroundTextStyle: 'light',
          navigationBarBackgroundColor: '#61A2F3',
          navigationBarTitleText: '小程式',
          navigationBarTextStyle: '#FFF'
        },
    }
}
複製程式碼
  • pages 中 的main.js也是配置檔案。例如
export default { // 比如這裡修改頂部的導航欄展示資訊
  config: {
    navigationBarTitleText: '小程式'
  }
}
複製程式碼

注:本地 images 需要放到 static 資料夾下 ,會自動打包到dist內,圖片路徑的要用dist 內的圖片路徑才能正常顯示。(解決方式並不唯一)

三、網路請求

在Vue中本人經常用的是axios,不過mpvue雖然是繼承於Vue,但是這裡沒辦法直接使用axios的。網上有推薦使用flyio。不過相比來說我覺得使用小程式官方的api會更舒服一點。mpvue框架搭配小程式的api,在mpvue中還能直接使用小程式中的元件,對像我這樣的新手來說真的是很友好啦。

flyio中也給出了在小程式環境下的基礎配置。詳細的可以去官網檢視。

在微信小程式中使用flyio

後來覺得小程式原生的api更適合,不過還是用了一下flyio,列一下我的使用方式。(雖然有湊字數的嫌疑)

// 1. 新建檔案 request.js
//    為了適應小程式
var Fly=require("flyio/dist/npm/wx") //npm引入方式

const request = new Fly();

// 可以進行攔截器、全域性config等等設定
//新增攔截器
request.interceptors.request.use((config,promise)=>{
    //給所有請求新增自定義header
    config.headers["X-Tag"]="flyio";
    return config;
})
fly.config.baseURL="url" // 基礎url配置


export default request;

// 2、在需要使用請求的地方,引入request
import fly from './../../request.js'  // 這裡的路徑根據自己建立的檔案修改

// 簡單使用
fly.get("url", {
   params: {}  // 查詢條件
}).then(response => {
  // 根據返回結果進行資料操作
});
複製程式碼

四、mpvue中使用小程式原生元件

比如switch元件 在小程式中對switch的描述

mpvue 小程式框架 入門

在mpvue中也可以直接使用,不過要注意事件繫結,要轉換為mpvue中的事件繫結方式。

mpvue和小程式事件繫結的對映表

// 事件對映表,左側為 WEB 事件,右側為 小程式 對應事件
{
    click: 'tap',
    touchstart: 'touchstart',
    touchmove: 'touchmove',
    touchcancel: 'touchcancel',
    touchend: 'touchend',
    tap: 'tap',
    longtap: 'longtap',
    input: 'input',
    change: 'change',
    submit: 'submit',
    blur: 'blur',
    focus: 'focus',
    reset: 'reset',
    confirm: 'confirm',
    columnchange: 'columnchange',
    linechange: 'linechange',
    error: 'error',
    scrolltoupper: 'scrolltoupper',
    scrolltolower: 'scrolltolower',
    scroll: 'scroll'
}
複製程式碼

對應的小程式中展示的 event.detail 在mpvue中可以在控制檯輸出看到

mpvue 小程式框架 入門

諾,就是標紅的那個部分, 然後就可以愉快的使用小程式的原生元件啦。

五、生命週期

vue中生命週期就是很重要的知識點,這裡也同樣。因為是小程式框架所以在vue生命週期的基礎上mpvvue也相容了小程式的生命週期。

這個知識點不是很清晰所以就不多說那麼多了

附:小程式生命週期

app 部分:

onLaunch,初始化
onShow,當小程式啟動,或從後臺進入前臺顯示
onHide,當小程式從前臺進入後臺

page 部分:

onLoad,監聽頁面載入
onShow,監聽頁面顯示
onReady,監聽頁面初次渲染完成
onHide,監聽頁面隱藏
onUnload,監聽頁面解除安裝
onPullDownRefresh,監聽使用者下拉動作
onReachBottom,頁面上拉觸底事件的處理函式
onShareAppMessage,使用者點選右上角分享
onPageScroll,頁面滾動
onTabItemTap, 當前是 tab 頁時,點選 tab 時觸發 (mpvue 0.0.16 支援)
複製程式碼

詳細內容請訪問官方網站哦。

相關連結

相關文章