2013-01-24 55 views
1

我使用Node.js創建了一個主菜單(導航)。我使用Jade作爲快速下的模板引擎。該菜單是使用純HTML & CSS創建的。提供HTML使用Node.js和模板到HTML網站

Node.js旨在通過URL提供菜單。我想包括此菜單到一個現有的Web應用程序,它應該由Node.js提供。我想到的東西像我website.html如下:

<body> 
    <!-- begin: include main menu --> 
    <script type="text/javascript" src="http://127.0.0.1:3000/menu"></script> 
    <!-- end: include main menu --> 
    the rest of the application/website 
    ... 
</body> 

我得到它的工作通過一些HTML使用我的路由機制下面的代碼我的網站,但我認爲這是非常髒DONE :

res.send("document.write('SOME_HTML_GOES_HERE')"); 

但我需要通過的意見/ menu.jade爲HTML片段回website.html。我已經回到與全HTML網站:

res.render('index', { title: 'Express & Jade' }); 

我怎樣才能像菜單中使用模板機制,節點遞送非的Node.js應用程序加載?

回答

0

您應該使用iframe來包含node.js菜單。您可以通過包括Express和翡翠呈現的HTML:

<iframe src="http://127.0.0.1:3000/menu"></iframe> 

話雖這麼說,我想你應該儘量滿足您的所有網站的端口80。許多用戶無法訪問端口3000

如果」在node.js(端口3000)和Apache(端口80)上重新託管你的網站,你應該嘗試在它們之前部署一個代理。我用HAProxy來做到這一點。在我的情況下,代理在端口80上運行,在8000上運行Apache,在3000上運行node.js。我有簡單的規則將請求重定向到node.js或Apache。