上一篇博客我們寫到快應用的環境搭建及原始demo編譯安裝。本篇博客我們主要講一下項目配置信息manifest文件裏面各個配置的含義。
1、代碼編輯器
工慾善其事必先利其器,我們需要一款合適的編輯器來開發快應用,官方推薦了兩款編輯器:Visual Studio Code 和 WebStorm 。下面我們只簡單介紹Visual Studio Code ,另外一個有興趣的自行研究。
下載好之後打開軟件,安裝Hap Extension,安裝方法:點擊左上側擴展,搜索hap,然後下載安裝,安裝好之後點擊重新加載即可,配置好之後打開快應用項目,就能發現文件都可以高亮顯示了,如下圖:
這樣看起來就舒服多了,閒話不多說,進入本篇博客的重點。
2、項目配置信息manifest文件
快應用的manifest文件類似於android應用裏面的AndroidManifest.xml這個文件,在項目的src目錄下,裏面也聲明瞭應用的配置信息,比如應用包名,版本號什麼的。不過快應用的manifest文件裏面內容更多一點,如下圖:
上圖是我從項目裏面截取出來的manifest文件,可以看出這是一個json文件,裏面包含了一些類似鍵值對的東西,下面我們就來詳細講解這些鍵值對的含義。
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
package | String | - | 是 | 應用包名,確認與原生應用的包名不一致,推薦採用com.company.module的格式,如:com.example.demo |
name | String | - | 是 | 應用名稱,6個漢字以內,與應用商店保存的名稱一致,用於在桌面圖標、彈窗等處顯示應用名稱 |
icon | String | - | 是 | 應用圖標,提供192x192大小的即可 |
versionName | String | - | 否 | 應用版本名稱,如:"1.0" |
versionCode | Integer | - | 是 | 應用版本號,從1 自增,推薦每次重新上傳包時versionCode +1 |
minPlatformVersion | Integer | - | 否 | 支持的最小平臺版本號,兼容性檢查,避免上線後在低版本平臺運行並導致不兼容;如果不填按照內測版本處理 |
以上是比較簡單的屬性,就不詳細解釋了,注意:icon的值爲絕對路徑,比如我們這個demo就是/Common/logo.png,其中的開頭的斜槓"/"代表項目"根目錄/src/"。
features:聲明項目需要的接口。
比如這個項目中聲明的接口:
然後自己去代碼中看了一下相應引用的地方:
"system.prompt" 和 "system.shortcut" 這兩個分別是用來彈toast與創建桌面快捷方式的接口,看到這裏,相信很多Android開發的老司機肯定明白了,其實就跟AS裏面引用第三方jar包差不多了,聲明之後在需要用到的地方引用就行,引用方法就類似require('@system.prompt')這個。
config:用於定義系統配置和全局數據。
比如logLevel:打印日誌等級,分爲off,error,warn,info,log,debug,後面講debug的時候再單獨寫一篇詳細分析。
router:配置頁面路由。
說實話,官方給出的這個解釋沒看太懂,但是以我幾年做Android的經驗,大概能明白其中的含義,基本就是相當於Android當中的Activity在AndroidManifest.xml中聲明。接下來再具體看一下項目裏面的代碼吧:
router.entry:表示首頁名稱,即該快應用啓動時默認打開的頁面。
router.pages:表示頁面路由對象,
key爲頁面名稱,value爲頁面具體路由配置,key不要重複,value包括以下屬性:
component:頁面對應的ux文件名
path:頁面路徑,不填則默認爲頁面名稱
display:用於定義與UI顯示相關的配置。
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
backgroundColor | String | #ffffff | 窗口背景顏色 |
fullScreen | Boolean | false | 是否是全屏模式,默認不會同時作用於titleBar,titleBar需要繼續通過titleBar控制 |
titleBar | Boolean | true | 是否顯示titleBar |
titleBarBackgroundColor | String | - | 標題欄背景色 |
titleBarTextColor | String | - | 標題欄文字顏色 |
titleBarText | String | - | 標題欄文字(也可通過頁面跳轉傳遞參數(titleBarText)設置) |
menu | Boolean | false | 是否顯示標題欄右上角菜單按鈕 |
pages | Object | - | 各個頁面的顯示樣式,key爲頁面名(與路由中的頁面名保持一致),value爲窗口顯示樣式,頁面樣式覆蓋default樣式。 |
基於上面的講解,我們可以簡單改一下demo的配置,改完之後如下:
以上就是隨便改改的界面,界面很醜,請大家忽略。
總結
manifest文件其實完全可以類比成Android項目中的AndroidManifest.xml文件,用來聲明項目的一些組件及配置,比如name、icon什麼的。今天這篇主要是一些概念性的東西,理解了就很簡單了,下一篇博客計劃是學一下頁面樣式與佈局並寫一個稍微複雜一點的佈局,加油!!