2013-04-07 65 views

回答

4

腳本目錄中的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 
    } 
} 
相關問題