簡體   English   中英

什么是mappings.ts文件,應如何在Tritium中進行設置?

[英]What is the mappings.ts file and how should it be set up in Tritium?

我正在使用Moovweb SDK和Tritium。 我希望我的移動網站的行為類似於我的桌面網站。 我有指向我主頁的不同URL。 我應該使用正則表達式嗎? 一個共同的要素? 匹配路徑的最佳語法是什么?

腳本目錄中的mappings.ts文件是匹配特定頁面的位置。 該文件被導入html.ts中,並允許我們說“當某個頁面匹配時,進行以下轉換”。

大多數項目已經生成了映射文件。 一個簡單的布局將是這樣的:

match($path) {
  with(/home/) {
    log("--> Importing pages/homes.ts in mappings.ts")
    @import pages/home.ts
  }
}

每次您開始在新頁面上工作時,都需要設置一個新的“地圖”。

第一:匹配唯一路徑

上面的Tritium與首頁的路徑匹配。 路徑是域后的URL位。 例如,在www.example.com/search/item中,“ www.example.com”是域,而“ search / item”是路徑。

< >/home/< >用正則表達式指定“ home”部分。 如果需要,您還可以使用純字符串:

with(“ home”)如果Tritium將路徑與匹配器匹配,它將導入主頁。

網站的首頁實際上並不包含“家”這個詞,這很可能是事實。 大多數首頁是沒有任何匹配項的URL。 更好的字符串匹配器可以是:

match($path) {
  with ("/")
}

或者,使用正則表達式:

with(/index|^\/$/) {

如您所見,映射文件的< >with()< >函數是真正可以使用Regex的地方。 查看我們關於正則表達式的簡短指南。 有時會更簡單,例如< >(/search/)< >。

切記要想出URL中最獨特的方面。 如果兩個< >with()< >函數匹配相同的URL,則將使用映射文件中最先出現的那個。 如果找不到用於不同頁面類型的唯一URL匹配器,則可能必須通過其他方式進行匹配。

為什么使用正則表達式?

使用字符串而不是使用正則表達式匹配器似乎更容易。 但是,正則表達式在匹配URL方面提供了更大的靈活性。

例如,站點可以在其產品頁面URL中使用數字字符串。 使用普通的字符串匹配器不切實際-您必須列出站點上所有項目可能的所有數字。 一種更簡單的方法是使用正則表達式說:“如果有5位數字的字符串,請繼續!” (用於匹配5位數字的代碼:< >/\\d{5}/< >。)

第二:記錄比賽

匹配特定路徑時,還應使用< >log()< >語句,以便確切了解要導入的內容。 log語句將打印在命令行窗口中,因此您可以查看正則表達式是否與您的路徑精確匹配。

match($path) {
  with(/index|^\/$/) {
    log("--> importing pages/home.ts in mappings.ts")
  }
}

第三:導入文件

最后,使用< >@import< >函數來包含特定於頁面的file文件。

match($path) {
  with(/index|^\/$/) {
    log("--> importing pages/home.ts in mappings.ts")
    @import pages/home.ts
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM