흐음.. 현재 node.js 는 빠른 변화(발전?)를 겪는건가 라는 생각이 들게 하는 상황이다.

나야 이제 node.js의 존재를 확인하는 레벨이다. 해서 책을 빌려서 보는 중인데 이 책도 얼마전에 나온 신간이다.
근데... 이 책의 몇몇 미들웨어들은 벌써 deprecated 됐거나.. 제거되었다;

즉 책의 예제를 돌려볼 수 없다. 이래저래 찾아서 이젠 스스로 새로운 버전에 맞게 수정할수 있는 지식도 얻게 해줬으니 고맙다고 해야할까;?

아무튼 connect의 router는 사라졌다. 

많은 예제들에 나와있는 코드일텐데 (해외도 마찬가지) 이 코드는 더 이상 존재하지 않는다. 어떤외국분이 git에서 소스를 가져와서 확인해보니 ..정확한 버전넘버(..는 아니지; hashcode니까?) 은 모르겠지만 아무튼 제거된었다는 포스팅도 읽었다.


흐음... ; 뭐 .. 오히려 최신버전을 몸소 다 겪고 있는 걸 다행이라고 여길까나?

아마 위의 에러메시지를 서칭해서 오신분들껜 쏘리.. 라는 말밖에;


'IT > node.js' 카테고리의 다른 글

node.js connect ... Cannot GET /  (0) 2012.04.16

Cannot GET /

이 에러가 보인다면... 아마 모듈버전을 옛날버전에 맞춰 코딩했을 수 도 있다. (사실 디테일한 확인은.. 모듈버전을 내려야해서 해보지 않았다... 다만 예전의 설명한 내용을보면 ... 버전이 예전것이고 그 버전에서의 코드형태는 여러곳의 설명들에서 동일했다)

현재 그냥 npm install connect 로 설치 했다면 근래 버전으로 됐을것이고.. / 디렉토리의 설정이 필요할것이란걸 에러내용에서 확인했을것이다.

클라우드 9 에서 테스트 했다.

var connect = require('connect');
var __dirName = 'node.js/';

var appServ = connect.createServer().use(connect.static(__dirName+'public'));
appServ.listen(process.env.C9_PORT);

클라우드 9 에서 node.js 이하에서 코드가 작성되어서 저렇게 했고 node.js 이하 public 에 index.html을 두었다.

잘나왔다; 끝
아.. 그리고 connect 2.0 이상 버전에서는 createServer 가 deprecated 되었다니 쓰지말도록

from http://stackoverflow.com/questions/9627441/cannot-get-with-connect-on-node-js?answertab=votes#tab-top

This code should work:

var connect = require("connect");
var app = connect.createServer().use(connect.static(__dirname + '/public'));
app
.listen(8180);

Also in connect 2.0 .createServer() method deprecated. Use connect() instead.

var connect = require("connect");
var app = connect().use(connect.static(__dirname + '/public'));
app
.listen(8180);


var connect = require('connect');


connect().use(connect.logger('dev'))
      .use(connect.static('node.js/public'))  // root 를 정해두고 그 안에 index.html이 없으면 아래의 res.end 한게 표시된다.
      .use(function(req,res) {
         res.end('hello ~~');    
      })
     .listen(process.env.PORT);


////////////////////////////////////////////////////////////////////////////////

var connect = require('connect');


connect().use(connect.static('node.js/public'))
    .use(connect.logger('dev'))
    .use(function(request,response,next){
        console.log('1st');
        next();
    })
    .use(function(request,response,next) {
    console.log('2nd');
    next();
    })
    .use(function(request,response,next) {
    console.log('3rd');
    response.writeHead(200,{'Content-Type':'text/html'});
    response.end('<h1>Hello Connect...</h1>');
    })
    .listen(process.env.PORT,function(){
    console.log('Server port:'+process.env.PORT);
});



'IT > node.js' 카테고리의 다른 글

connect ... has no method 'router' ??? node.js  (1) 2012.04.16

+ Recent posts