2013-01-24 1 views
1

Node.js를 사용하여 기본 메뉴 (탐색)를 만들었습니다. Express에서 템플릿을 템플릿으로 사용했습니다. 메뉴는 순수한 HTML & CSS로 작성됩니다.Node.js를 사용하여 HTML을 제공하고 HTML 웹 사이트에 템플릿을 적용합니다.

Node.js는 URL을 통해 메뉴를 제공하기위한 것입니다. 이 메뉴를 기존 웹 응용 프로그램에 포함시키고 싶으면 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을 통과 일을 가지고,하지만 난이 작업이 완료 정말 더러운 생각 :

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

는하지만 다시 Website.html 웹에 HTML 코드와 전망/menu.jade을 통과해야합니다. 나는 이미와 전체 HTML 사이트를 반환

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

어떻게 메뉴 템플릿 메커니즘을 사용하여 노드에 의해 전달 비 Node.js를 응용 프로그램에로드되는 것을 얻을 수 있나요?

답변

0

node.js 메뉴를 포함 시키려면 iframe을 사용해야합니다. 당신은 Express 및 옥 의해 렌더링 된 HTML을 포함 할 수 있습니다 :

, 나는 '당신이 80 많은 사용자가 3000

당신이 만약 포트를 액세스 할 수 없습니다 포트에서 모든 웹 사이트를 제공하기 위해 시도해야한다고 생각했다되고 그게

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

node.js (포트 3000)에 웹 사이트를 호스팅하고 Apache (포트 80)를 호스팅하는 경우 두 프록시 모두 앞에 프록시를 배치해야합니다. 이렇게하려면 HAProxy을 사용했습니다. 필자의 경우 프록시는 포트 80, 8000은 Apache, 3000은 node.js에서 실행됩니다. 요청을 node.js 또는 Apache로 리디렉션하는 간단한 규칙이 있습니다.

관련 문제