2015-11-18 24 views
0

渲染玉文件中使用我在我的Node.js項目之一以下目錄結構在CSS圖片:如何使用從通過Node.js的

/web 
    /views 
    /css 
     asc.gif 
     bg.gif 
     desc.gif 
     tablesorter.css 
    index.jade 
    search.jade 
    server.js 

我呈現來自server.jssearch.jade文件。

search.jade文件I包括tablesortes.css文件:

style 
    include css/tablesorter.css 

tablesorter.css如下所示:

/* tables */ 
table.tablesorter thead tr .header { 
    background-image: url(bg.gif); 
    background-repeat: no-repeat; 
    background-position: center right; 
    cursor: pointer; 
} 
table.tablesorter thead tr .headerSortUp { 
    background-image: url(asc.gif); 
} 
table.tablesorter thead tr .headerSortDown { 
    background-image: url(desc.gif); 
} 

正如你看到的,這取決於其位於.gif文件同一個目錄。

問題是我的代碼沒有看到這些.gif文件(tablesorter.css文件中的所有其他樣式都能正常工作)。

,我在這一刻使用的解決方法是將下面的代碼

app.use(express.static('views/css')); 

放在server.js文件,但我不知道是不是合適的方式做到這一點?

回答

1

您目前的解決方案似乎夠簡單,但在CSS中使用完整路徑可能是另一種選擇。

要麼手動添加完整路徑,要麼使用某個處理器爲您完成。這可能是通過在編譯時您選擇的預處理器,或者使用一個特製的代碼在包括(的the page底部)

filter因此,也許像

style 
    include:fullpaths-css css/tablesorter.css 

fullpaths-css將是您的即時處理器,可能基於postcss。