uni-app小程序開發指南

2021-01-08 前端學習棧

以下全文使用wxapp指代小程序應用

1.項目介紹

wxapp是基於uni-app,使用vue.js語法進行開發的微信小程序項目。

2.開發工具

devtools:微信開發者工具。安裝完畢使用開發者帳號微信登陸微信開發者工具且到開發工具的安全設置中開放服務埠HBuilderX:由DCloud推出的web開發IDE。安裝完畢需要修改運行配置中正確的微信開發者工具安裝路徑推薦插件:NPM,內置終端,uni-app編譯,eslint-js,js壓縮,css壓縮,less編譯,scss/sass編譯3.開發前的準備

3.1 小程序帳號註冊

到微信公眾平臺註冊小程序帳號。

3.1 開發環境搭建

Node.js:下載並安裝Node.js及npm。

vue-cli:全局安裝vue-cli腳手架。

npm install -g @vue/cli複製代碼3.2 創建uni-app應用

vue create -p dcloudio/uni-preset-vue wxapp複製代碼創建成功後修改manifest.json,配置已註冊的小程序appId

3.3 uni-ui庫

uni-ui是DCloud提供的基於vue組件,flex布局的跨端ui框架。

easycom組件模式:按照配置規則全局引入註冊組件,而不需要另外引入,註冊即可使用。優點:按需打包

uni-ui安裝(vue-cli + easycom)npm i @dcloudio/uni-ui --savenpm i sass -Dnpm i sass-loader -D複製代碼編輯根目錄下的pages.json,添加easycom節點// pages.json{ "easycom": { "autoscan": true, "custom": {// uni-ui 配置規則 "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" } },// 其它配置 pages: [// ... ]}複製代碼4.項目文件目錄介紹

api:restful請求目錄,使用Fly.js發送http請求。components:自定義全局組件目錄。i18n:國際化目錄。static:靜態資源目錄,由於小程序對包大小的限制,需要考慮將必要的靜態資源遷移至oss伺服器。store:vuex狀態管理目錄。utils:自定義工具類目錄。baseURLConfig.js:自定義環境配置文件。pages:主包頁面目錄。App.vue:主組件,所有頁面的入口文件,用來配置全局樣式及監聽應用生命周期。但本身不是頁面,不能編寫視圖元素。main.js:項目的入口文件,主要作用為初始化vue實例,定義全局組件。manifest.json:wxapp應用的配置文件。package.json:wxapp應用擴展節點配置。pages.json:wxapp應用頁面管理全局配置文件。5.開發流程

以下開發流程均以使用HBuilderX為例。

主包及子包頁面和組件開發流程相同。頁面開發使用pages目錄,組件開發使用components目錄。

5.1 組件開發

選取components目錄下的目標位置右鍵單擊選擇新建組件,推薦選擇使用scss模板頁面。組件邏輯代碼開發,可按需引入相關的工具類,Service,其它組件等。5.2 頁面開發

選取pages目錄下的目標位置右鍵單擊選擇新建頁面,推薦選擇使用scss模板頁面。在pages.json的pages節點下添加頁面配置註冊頁面。若上一步已勾選在pages.json中註冊會在頁面創建時自動添加配置,可省略手動配置直接對其進行編輯。{// ...其它配置// 頁面配置,規定節點的第一項為應用的入口頁面(即首頁) "pages": [ { "path": "pages/xxx", // 頁面路徑 "style": {} // 頁面窗口表現 } ]}複製代碼頁面邏輯代碼開發,可按需引入相關的工具類,Service,組件等。不論是組件或頁面,大多數情況下需要在<style>標籤上添加scoped屬性,限制樣式僅應用到父元素及其子元素(即當前vue實例),解決樣式私有的問題,防止影響覆蓋全局的公共樣式。

6.補充

6.1 自定義組件引入及註冊

<template> // ...</template><script> // 1.引入組件 import xxx from '@/components/xxx' export default { // 2.組件註冊 components: { xxx }, // ... }</script><style lang="scss" scoped>/* * ... */</style>複製代碼6.2 tabBar配置

若希望在應用底部添加tab進行切換,推薦使用tabBar配置。在pages.json中提供了tabBar配置,方便快速開發及性能的提升。

6.3 路由與頁面跳轉

uni-app提供了一系列路由與頁面跳轉的api與路由相關的個性化配置,方便開發人員進行快速開發。

6.4 分包優化之subPackages和preloadRule

由於小程序的體積限制和資源加載限制,需要利用小程序的分包加載機制對應用進行拆分,配置分包加載規則。

當小程序啟動時,默認會加載主包並打開主包內的頁面,當用戶進入到分包的某個頁面時,自動加載分包,完成後再進行展示。分包配置可以有效減輕應用啟動時加載的js數量,提升應用的啟動速度。

subPackages為分包配置節點,它接收一個對象數組,數組的每一項都對應應用的一個子包,對象屬性配置如下表:

preloadRule為分包預加載配置節點,當打開小程序某個頁面時,自動預加載需要的子包,提升進入子包頁面時的啟動速度。它接收一個對象,屬性名稱key是當前頁面的路徑,屬性值value是子包預加載的配置。子包預加載配置如下表:

小程序分包操作步驟:

在應用的根目錄下新建子包,目錄結構如下wxapp:components:子包自定義組件目錄。pages:子包頁面目錄。static:子包靜態資源目錄。components:子包自定義組件目錄。pages:子包頁面目錄。static:子包靜態資源目錄。account_module:account子包目錄。order_module:order子包目錄。修改pages.json分包配置{// ...// 分包配置 "subPackages": [ { "root": "account_module", "name": "account_module", "pages": [ { "path": "pages/***", "style": {} }// ... ] }, { "root": "order_module", "name": "order_module", "pages": [ { "path": "pages/***", "style": {} }// ... ] } ],// 子包預加載規則配置 "preloadRule": { "pages/***": { "network": "all", "packages": ["account_module"] }, "pages/***": { "network": "all", "packages": ["order_module"] }, "pages/***": { "network": "all", "packages": ["account_module", "order_module"] } }}複製代碼7.預覽及發布

在小程序整個開發過程中支持實時預覽。通過打開微信開發者工具的模擬器進行預覽,通過HBuilderX發布新的小程序體驗版。

前提條件:按照要求(第二節及第三節)安裝及配置開發工具。

7.1 調試及預覽

點擊HBuilderX頂部導航欄的運行->運行到小程序模擬器->微信開發者工具或發行->小程序-微信,喚起微信開發者工具,並自動打開小程序完成調試預覽。

運行及發行區別:

發行模式會對項目進行壓縮,完成後的應用體積更小,運行則不會。運行模式打開小程序,模擬器可以實時預覽,不必重複運行,發行只會壓縮並打開當前狀態的項目。通常情況下,當處在開發階段時多使用運行模式,便於開發調試。開發完成後,使用發行模式打開微信開發者工具,並藉助預覽及真機調試功能測試小程序功能及兼容性。

7.2 發行

點擊HBuilderX頂部導航欄的發行->小程序-微信,打開微信開發者工具。點擊微信開發者工具右上角的上傳,輸入正確的版本號,完成小程序體驗版的發布。8.附錄

uni-app:https://uniapp.dcloud.net.cn/vue-cli:https://cli.vuejs.org/zh/guide/vue.js:https://cn.vuejs.org/v2/guide/vuex:https://vuex.vuejs.org/zh/node.js:https://nodejs.org/zh-cn/fly.js:https://github.com/wendux/fly

相關焦點

  • 如何使用HBuilderX創建uni-app並編譯成微信小程序並配置底部菜單
    創建項目2、打開新建項目窗口,勾選uni-app項目類型,輸入項目名稱,選擇模板,然後點擊創建配置外部web伺服器調用url7、選中uni-app項目,點擊運行--->運行到小程序模擬器--->微信開發者工具運行到小程序模擬器
  • 如何在uni-app雲開發項目查看雲函數context
    >工具HBuilderX微信開發者工具雲服務管理平臺技術vueuni-appJavaScript在uni-app項目雲開發時,創建了雲函數,默認有兩個參數event和context。下面利用實例說明:操作步驟:1、新建uni-app項目,選擇uniCloud模板;然後在cloudfunctions-tcb文件夾,新建雲函數querySys
  • 如何使用uni-app中的日曆組件並獲取日期
    工具HBuilderX微信開發者工具技術Vueuni-appJavaScriptwxmlCSS3微信小程序1、打開HBuilderX開發工具,創建uni-app項目;然後新建uni-app頁面,添加uni-calendar組件,設置日曆相關的屬性
  • 小程序、app、公眾號開發的區別是什麼?西安小程序開發專業
    微信小程序已經上線3年多了,功能和app非常相似,而且又是基於微信的基礎,可以和公眾號相輔助使用,那麼小程序、app和公眾號的區別是什麼?首先,公眾號是微信自帶的功能,只要企業註冊了公眾號就可以直接使用,如果要使用一些營銷功能,比如微信商城、掃碼點餐這些功能,就需要二次開發,而小程序則是基於維信開發的,這三者詳細的區別有哪些呢?青雲在線小編給大家分享相關的資料。
  • 做小程序開發場景化思維很重要,西安app小程序開發公司
    微信小程序開發為什麼現在這麼火爆?原因其實很簡單,那就是小程序有一個很大的優勢就是用完即走,小程序的使用方式是和app有一定的區別,但是使用起來和app的差距不是很大,可以實現的功能也相差不大,但是在費用差別還是比較明顯的。
  • app開發和小程序開發的區別是什麼,西安軟體開發公司
    現在自從微信小程序問世以來,很多企業都定製開發了自己的微信小程序,那麼微信小程序和app的差別是什麼呢?大家都用過app,app是獨立在手機上使用的。如果要使用一款app應用,首先要在應用市場下載安裝,然後註冊登錄後才能使用,相比較於小程序來說,流程稍微麻煩一點。
  • 如何使用uni-app項目中的Combox 組合框
    工具HBuilderX微信開發者工具技術uni-appvueJavaScript微信小程序1、在uni-app項目中,新建uni-app頁面,輸入名稱combox新建uni-app頁面,輸入名稱combox2、打開頁面文件,插入uni-combox,綁定數據源和欄位,設置屬性
  • 開發小程序好還是app好?西安軟體定製開發服務
    如果企業要做網際網路業務,要積累客戶,開發什麼平臺好呢?之前的企業選擇的可能就是網站和app,很多企業沒有太多的資金去開發app,因為開發app需要的費用可能需要十幾萬甚至是幾十萬,所以很多企業都是做了一個企業網站來進行用戶的獲取和積累,自從微信小程序推出之後,讓企業有了更多的選擇,但是又有了一個新的問題:開發小程序還是app呢?
  • 如何在uni-app項目創建雲函數資料庫插入記錄
    >工具HBuilderX微信開發者工具雲服務管理後臺技術vueuni-app資料庫在uni-app雲開發項目中,創建一個雲函數,然後調用雲函數,新建資料庫(雲服務)。下面利用實例說明:操作如下:1、創建一個uni-app雲開發項目,新建uni-app頁面,輸入名稱並勾選在pages.json中註冊
  • 小程序未來發展怎麼樣,西安小程序可靠開發公司
    企業為什麼要開發微信小程序,這是一些企業主問青雲在線小編較多的問題,小程序已經問世幾年,如果了解了小程序的發展過程,那麼大家就會對小程序有一個詳細的了解,現在大家只看到了很多企業開發了小程序,但是小程序為什麼受用戶喜歡,為什麼開發小程序的企業越來越多,其中都是有原因的,今天小編就給大家分享小程序的發展
  • 如何在uni-app項目中定義樣式和綁定樣式
    雖然uni-app是一個使用 Vue.js 開發所有前端應用的框架,但是編譯成小程序過程中,有些特性是不支持的,如style直接綁定一個對象。工具HBuilderX微信開發者工具技術vueuni-app
  • 如何在uni-app項目中使用vue屬性監測表達式
    工具微信開發者工具HBuilderX技術vueuni-app下面利用實例說明:1、打開HBuilderX開發工具,創建uni-app項目,並新建頁面文件sys創建uni-app項目,並新建頁面文件sys2、打開新建的頁面文件,在template標籤中,插入三個數字類型輸入框,並綁定變量
  • uView v1.8.2 已經發布,uni-app 生態的 UI 框架
    uView UI 是 uni-app 生態的 UI 框架,擁有全面的組件和便捷的工具。
  • 微信小程序開發好之後如何推廣,西安手機小程序軟體開發公司
    現在不少的商家都開發了自己的微信小程序,原因其實很簡單那就是小程序可以實現很多的功能,而且開發價格也不是很貴,也有人說小程序就是一個弱化版的app,可以像app一樣使用但是開發的成本相對比較低,現在做小程序開發的公司非常的多,很多企業也都開發了小程序,那麼小程序開發好之後如何推廣呢
  • 西安小程序開發公司哪家好,青雲在線微信小程序團隊
    自從小程序出現之後就成為了網際網路圈的熱門話題,有不少的行業從事者和開發者都關心小程序的發展,雖然剛開始的時候很多人都把小程序視為雞肋,但是西安小程序定製開發青雲在線小編看到,如今小程序的發展已經非常的快速,有很多的商家都開發了自己的小程序,而且現在小程序在各個行業都有出色的表現,適用於多個場景
  • 做小程序開發場景化思維很重要
    微信小程序開發為什麼現在這麼火爆?原因其實很簡單,那就是小程序有一個很大的優勢就是用完即走,小程序的使用方式是和app有一定的區別,但是使用起來和app的差距不是很大,可以實現的功能也相差不大,但是在費用差別還是比較明顯的。比如開發一個app需要幾萬甚至是幾十萬上百萬的費用,而開發一個小程序基本都是幾千到幾萬的費用。
  • 如何在微信小程序項目中使用倒計時組件
    工具微信開發者工具HBuilderX技術微信小程序vueuni-appJavaScriptcountdown組件可以顯示天數、小時、分鐘和秒鐘,設置相關的屬性的顏色,有背景色、字體顏色和邊框顏色,具體使用方法如下:
  • APP、小程序、H5,開發載體如何選擇?
    文章從APP、小程序、H5的概念出發,從可用性、優缺點、用戶體驗和成本等4個方面對這三個開發載體展開了對比分析,與大家分享。Q:阿境,我想做個小程序或者APP。A:為什麼要做小程序跟APP?想做什麼類型的小程序跟APP?產品定位想好了嗎?…….
  • 手機app是如何開發的,西安軟體開發app公司
    如今移動互聯的應用,一個是小程序,另一個是app,這兩者不是競爭關係,而是合作關係,app可以實現的功能更多,使用更流暢,而小程序使用起來更方面更簡潔,所以很多公司都是開發web端,app端和小程序端,這樣才能讓留住更多的用戶,我們拿微博來說,微博有電腦端的微博,有app的微博,也有小程序
  • 西安專業做app軟體開發公司,app開發製作費用
    雖說現在是有了小程序,很多企業也開發了自己的小程序,但是小程序主要針對的是低頻的用戶,如果是高頻使用的用戶那麼小程序肯定是效果一般,比如一些直播軟體、短視頻軟體,用得多的還是app,因為如果使用小程序的話效果可能不會太好。