2012-05-17 5 views
2

node.js 및 socket.io를 사용하여 웹 사이트에 실시간 기능을 추가하고 싶지만 페이지 요청/응답을 처리 할 필요가 없습니다. index.html을 먼저 제공하고 js/css 의존성을 자동으로로드하는 일반 폴더 기능을 사용할 수 있습니까?Node.JS의 기본 폴더 기능

감사합니다.

답변

7

Express 프레임 워크를 사용할 수 있습니다. 공용 폴더, 모든 스타일, 자바 스크립트 파일, 기타 HTML 파일 아래에 파일을 배치하십시오. 익스프레스에 진입 점만 주면 클라이언트에게 index.html을 제공 할 수 있습니다.

var fs = require("fs"); 
    var express = require("express"); 
    app = express.createServer(); 

    app.use(express.static(__dirname + '/public')); 
    app.get('/', function(req, res) { 
     fs.readFile(__dirname + '/public/index.html', 'utf8', function(err, text){ 
      res.send(text); 
     }); 
    }); 
    app.listen(3000); 
+0

, 감사합니다! – user1318416

2

정적 파일 만 제공하려는 경우 express를 사용하면 매우 간단합니다.

app.js 파일은 응용 프로그램의 루트에서 '공공'폴더는 코드

var express = require('express'); 

    var app = express.createServer(
     express.static(__dirname + '/public') 
     ); 

    app.listen(3000); 

장소 모든 HTML, CSS, 자바 스크립트 파일의 다음 줄을 필요가있다. 그래서 일반적인 응용 프로그램 폴더는 다음과 같이 보일 것이다 :

app.js 
    /public 
    index.html 
    reset.html 
    ... 
    ... 
    /css 
     main.css 
     reset.css 
     ... 
     ... 
    /js 
     header.js 
     util.js 
     ... 
     ... 
1

내가 같은 결과와는 약간 다른 접근 방식을 사용 :이 위대한 작품을

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + '/public')); 

app.listen(process.env.PORT || 3000);