快應用 文件組織

2020-08-08 16:55 更新

應用資源


一個應用包含:描述項目配置信息的 manifest文件,放置項目公共資源腳本的 app.ux文件,多個描述頁面/自定義組件的 ux文件 ,典型示例如下:

應用根目錄

├── manifest.json
├── app.ux
├── Page1
│   ├── page1.ux
├── Page2
│   ├── page2.ux
└── Common
    ├── ComponentA.ux
    ├── ComponentB.ux
    └── xxx.png

其中Common目錄下為公用的資源文件和組件文件,每個頁面目錄下存放各自頁面私有的資源文件和組件文件,如:圖片,CSS,JS等

文件存儲


在應用平臺中是按分區(qū)來存儲文件的,目前支持以下分區(qū)

  1. Cache,一般用于存儲緩存文件,比如通過fetch接口下載的文件會存儲在該分區(qū)中,該分區(qū)中的文件可能因存儲空間不夠被系統(tǒng)刪除
  2. Files,一般用于存儲比較小的永久文件,該分區(qū)中的文件由應用自己管理
  3. Mass,一般用于存儲比較大的文件,但該分區(qū)并不保證一直可用
  4. Temp,表示從外部映射過來的臨時文件,出于安全性考慮,臨時文件是只讀的,并且只能通過調(diào)用特定的API獲取,比如media.pickVideo方法。另外臨時文件的訪問是臨時的,應用重啟后無法訪問到臨時文件,需要通過特定API重新獲取。

另外應用資源也作為一個特殊的只讀分區(qū)進行處理。

URI


URI 用于標識應用資源和文件,組件 和 接口 通過URI來訪問應用資源和文件。

資源類型 URI 只讀 示例 說明
應用資源 /path /Common/header.png -
Cache internal://cache/path internal://cache/fetch-123456.png -
Files internal://files/path internal://files/image/demo.png -
Mass internal://mass/path internal://mass/video/demo.mp4 -
Temp internal://tmp/path internal://tmp/xxxxx 由系統(tǒng)動態(tài)生成

URI允許的字符是0-9a-zA-Z_-./%:(不包含引號),URI中不能出現(xiàn)..,URI支持目錄結構,目錄由斜線'/'分隔。

internal URI表示的是應用私有文件,即在指定internal URI時,無需指定應用標識,同一個internal URI對于不同的應用會指向不同的文件。

資源和文件訪問規(guī)則


應用資源路徑分為絕對路徑和相對路徑,以"/"開頭的路徑表示絕對路徑,比如 /Common/a.png,不以"/"開頭的路徑是相對路徑,比如 a.png 和 ../Common/a.png 等。

應用資源文件分為代碼文件和資源文件,代碼文件是指 .js/.css/.ux 等包含代碼的文件,其他文件則是資源文件,這類文件一般只當作數(shù)據(jù)來使用,比如圖片、視頻等。

  1. 在代碼文件中,導入其他代碼文件時,使用相對路徑,比如:../Common/component.ux。
  2. 在代碼文件中,引用資源文件(如:圖片、視頻等)時,一般情況下使用相對路徑,比如: ./abc.png。
  3. 當代碼文件需要被導入時,如果導入文件與被導入文件在同一個目錄,被導入文件引用資源文件時可以使用相對路徑,但如果不在同一目錄,必須使用絕對路徑,因為被導入文件編譯時會被復制到導入文件中,編譯后目錄會發(fā)生變化。比如 a.css 文件被 b.ux 導入,如果 a.css 與 b.ux 在同一個目錄,a.css 引用資源文件時可以寫相對路徑:abc.png,如果不在同一個目錄,必須寫絕對路徑:/Common/abc.png,再比如當 a.ux 文件被 b.ux 文件導入時,如果 a.ux 與 b.ux 在同一個目錄,a.ux 引用資源文件時可以寫相對路徑:a.png,如果不在同一個目錄,a.ux 引用資源必須寫絕對路徑:/Common/abc.png。
  4. 在CSS中,與前端開發(fā)一致,使用url(PATH)的方式訪問資源文件,如:url(/Common/abc.png)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號