我正在使用Moovweb SDK並使用Tritium。我希望我的移動網站的行爲像我的桌面網站。我有不同的網址指向我的主頁。我應該使用正則表達式嗎?一個共同的元素?什麼是匹配路徑的最佳語法?什麼是mappings.ts文件,它應該如何在Tritium中設置?
回答
腳本目錄中的mappings.ts文件是特定頁面匹配的地方。該文件是在html.ts中導入的,並允許我們說「當某個頁面匹配時,進行以下轉換。」
大多數項目已經生成了映射文件。一個簡單的佈局會像這樣:
match($path) {
with(/home/) {
log("--> Importing pages/homes.ts in mappings.ts")
@import pages/home.ts
}
}
你開始一個新的頁面上的工作時,你都需要建立一個新的「地圖」。
第一:如同一個唯一路徑
氚以上相匹配的網頁的路徑。路徑是域之後的URL的位。例如,在www.example.com/search/item中,「www.example.com」是域名,「搜索/項目」是路徑。
< >/home/<
>指定具有正則表達式的「home」部分。如果需要,您也可以使用純字符串:
with(「home」) 如果Tritium與匹配器匹配的路徑,它將導入主頁。
這可能是真的,一個網站的主頁實際上並不包含單詞home。大多數主頁是沒有任何匹配器的URL。一個更好的字符串匹配可能是:
match($path) {
with ("/")
}
或者,使用正則表達式:
with(/index|^\/$/) {
正如你所看到的,< >with()<
>映射文件的功能,其中正則表達式的知識能真正派上用場。查看關於正則表達式的簡短指南。有時會更簡單,如< >(/search/)<
>。
記得想出可能的URL最獨特的方面。如果兩個< >with()<
>函數匹配相同的URL,則將使用映射文件中第一個出現的那個。如果您無法爲不同的網頁類型找到唯一的網址匹配器,則可能需要通過其他方式進行匹配。
爲什麼使用正則表達式?
使用字符串而不是正則表達式匹配器似乎更容易。但是,正則表達式可以更靈活地匹配哪些URL。
例如,網站可以在其產品頁面網址中使用一串數字。使用普通的字符串匹配器不太實際 - 您必須列出網站上所有項目的所有可能數字。更簡單的方法是使用正則表達式,「如果有一串5位數字,繼續!」 (匹配5位數的代碼:< >/\d{5}/<
>。)
二:登錄比賽
當匹配特定的路徑,你也應該使用< >log()<
>的語句,讓你知道什麼是越來越進口。日誌語句將打印在命令行窗口中,以便您可以查看您的正則表達式是否與您的路徑精確匹配。
match($path) {
with(/index|^\/$/) {
log("--> importing pages/home.ts in mappings.ts")
}
}
三:導入文件
最後,使用< >@import<
>功能,包括特定頁面的氚文件。
match($path) {
with(/index|^\/$/) {
log("--> importing pages/home.ts in mappings.ts")
@import pages/home.ts
}
}
- 1. 爲什麼git爲文件設置filemode 755應該是750?
- 2. iOS - 如何在UITextField中設置nil(它應該是可見的)
- 3. 我應該爲上傳文件設置什麼文件權限
- 4. 導出文件不是它應該是什麼?
- 5. 在Mac上應該設置什麼$ PYTHONHOME
- 6. 什麼是.Spritefont文件,我該如何創建它?
- 7. Neo4j的POM文件應該是什麼?
- 8. 如何恢復git認爲該文件應該是什麼文件權限?
- 9. EGL_KHR_IMAGE < - 它是什麼,什麼時候應該使用它
- 10. 什麼是全文索引,何時應該使用它?
- 11. 在IIS 7中託管ASP.NET項目時應該設置什麼文件權限?
- 12. xcode設置 - 鏈接地圖文件的路徑 - 它是什麼?
- 13. Minidumps應該使用什麼設置?
- 14. matplotlib.collections中的`antialiased`是什麼,你如何設置它的參數?
- 15. 什麼是IOR文件,它是做什麼的,它是如何工作的?
- 16. BroadcastReceiver java文件的位置應該是什麼?
- 17. HierarchicalDataTemplate它應該做什麼?
- 18. NPTL:什麼是MULTIPLE_THREADS_OFFSET以及它是如何設置
- 19. logstash:電子郵件附件中提交的文件位置應該是什麼?
- 20. 設置壁紙應該是這麼難:(
- 21. 什麼類型應該是mLoaderManager以及如何聲明它?
- 22. 什麼應該在[名稱] View.xaml.cs文件?
- 23. 在C#中/ ASP.NET這是什麼配置錯誤,我該如何處理它?
- 24. 如何設置/選擇應該包含什麼版本的boost?
- 25. 什麼是APC中的碎片,我應該如何解釋它來調整我的設置?
- 26. SendMessage的真正簽名是什麼,它應該如何在C#中調用?
- 27. 我的AVD沒有加載什麼設置,我應該用它來運行它
- 28. 在這個awk命令中應該設置什麼?
- 29. 什麼時候應該在UIViews中設置邊框?
- 30. 應該在PL/SQL Developer的oracle主頁中設置什麼