2013-06-28 71 views
1

當我使用Express框架時,我將我的「.html」文件放到文件夾視圖中,然後將「.js」和「.css」文件放入public。當我運行我的應用程序時,我可以獲取js和CSS,但我無法得到articlecontent.html。以下是我的頁面index.html。nodejs Express html

<div class="nav-collapse"> 
    <ul class="nav"> 
     <li><a href="#">Home</a></li> 
     <li class="active"><a href="articlecontent.html" target="home">Content</a></li> 
    </ul> 
    <div id="container" class="container" style="height: inherit"> 
     <iframe id="home" name="home" scrolling="no">content</iframe> 
    </div> 
</div> 

app.get("/",function index(req,res){ 
    res.render("index.html"); 
}); 
+0

您是否有關於articlecontent.html的視圖和路線? –

+0

但是,如果我將articlecontent.html放入視圖中,併爲articlecontent.html添加路由,它如何知道如何更改iframe.code的屬性「src」:Content app.get('/ articlecontent',function(req, RES){res.render( 「articlecontent.html」)}); – brucewar

回答

1

views文件夾通常用於存儲模板文件;換句話說,該文件夾包含您使用res.render()發送的文件。

如果你想成爲一個非模板HTML文件,如您articlecontent.html,你應該將它放在公共文件夾中,因此它會被express.static中間件(同樣也適用於您的index.html送達:如果你不」 t要求它由模板引擎呈現,您也可以將其移動到公用文件夾中)。

+0

我明白了。但是,如果我將articlecontent.html放入視圖中,併爲articlecontent.html添加路由,它如何知道如何更改iframe.code的屬性「src」:Content app.get('/ articlecontent',function (REQ,RES){res.render( 「articlecontent.html」)}); – brucewar

+0

@BruceWar我不確定你的意思。 – robertklep

+0

@BruceWar如果你想要文件中的標記是數據驅動的,你需要涉及一個視圖引擎。 ['consolidate.js'](https://github.com/visionmedia/consolidate.js/)的文檔有一個很好的選項列表,而模塊本身可以幫助他們使用Express。相關:['app.engine()'](http://expressjs.com/api.html#app.engine)。 –