2014-02-10 26 views
0

我有這樣的目錄內容如何獲得不同的CSS文件不同的路線(快遞,node.js中)

app\ 
    app.js 
html-views\ 
    corporate\ 
    css\main.css   //css.corp 
    index.html 
    ecommerce\ 
    css\main.css   //css.ecom 
    index.html 

我真的想配置兩條路線:

var sys = require("sys"); 
var express = require("express"); 
var cons = require("consolidate"); 
var app = express(); 
app.engine("html",cons.swig); 
app.set("view engine","html"); 
app.set("views","../html-views/"); 

//HERE I HAVE TO CONFIGURE CSS 

app.get("/corporate",function(request,response){ 
response.render("corporate/index"); 
}); 
app.get("/ecommerce",function(request,response){ 
response.render("ecommerce/index"); 
}); 
app.listen(8080); 

我想配置選擇不同的路線「的main.css」,但我不能老是

如果我寫:

app.use("/css",express.static("../html-views/corporate/css")); 
app.use("/css",express.static("../html-views/ecommerce/css")); 

然後一個CSS會覆蓋另一個。

如果我寫:

app.get("/corporate",function(request,response){ 
    app.use("/css",express.static("../html-views/corporate/css")); 
    response.render("corporate/index"); 
}); 

然後他們互相覆蓋一次。

我該怎麼寫?感謝您的關注。

+0

你不能有2x app.js嗎? –

+2

用'/ corporate'和'/ ecommerce'在兩個'app.use()中爲'/ css'加前綴怎麼辦?沒有更多的衝突。 –

+0

試圖做,而不改變.html(其中src =「css/main.css」) – chilicoder

回答

0

是否有任何理由不使用模板引擎?帶layout選項的把手可以輕鬆解決這個問題。

我找到答案在這裏https://stackoverflow.com/a/8790999/1822805

+1

現在的問題是有點過時) 我想,你的解決方案可以工作。 – chilicoder

+0

app.get(「/ corporate」,function(request,response){ response.render(「/ index」,{cssOption:'corporate'}); }); – chilicoder

+0

哈哈,我沒有檢查日期。很高興認識你! ;) –

2

我試圖解決同樣的問題如下:

在ecommerce.html,包括我這個模板是這樣的css文件:

<link rel="stylesheet" href="./stylesheets/ecommerce.css"> 

所以用這種方式,不同的路由包含特定模板的不同css。

希望這會幫助你。

乾杯

相關問題