2012-09-10 3 views
5

먼저 Node.js와 관련하여 완전히 새로운 개발자입니다.NodeJS 모듈 필요

샘플 익스프레스 애플리케이션을 만들기 시작 했으므로 추가 모듈을 사용하여 자세한 정보를 얻고 싶습니다. npm을 통해 "mysql"모듈을 설치했습니다.

내가 응용 프로그램의 시작 부분을 추가 한의이 같은 :.

var mysql = require('mysql'); 

지금, 당신이 이미 알고있는 디렉토리 경로 내부하는 index.js 파일을 만든 명시 : 나는 싶습니다 작동하지 않는 명령 분명히

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : 'root', 
}); 

를 사용하여 제공이하는 index.js 페이지에서 DB에 연결하는 MySQL의 변수에 액세스 할 수 있지만, "500 오류 ReferenceError를 : 정의되지 않은 mysql을".

물론이 변수를 전달해야한다고 확신하지만 실마리가 없습니다. 좋은 영혼이 내게 계몽 할 수 있습니까? 나는 이것이 매우 작고 기본적인 것은 알고 있지만, 이미이 시도하고 작동하지 않는 것 :

... app.get('/', routes.index, mysql); ... 

와하는 index.js에 : Node.js를에서

exports.index = function(req, res, mysql){ ... 

답변

5

을, 당신은 그들을 사용해야하는 파일에 require 모듈을 사용해야합니다; 사용자가 해당 파일의 상단에, 당신의 routes/index.js 파일에 mysql 패키지를 사용하려는 경우 그래서,

var mysql = require('mysql'); 

당신은 하나 개 이상의 파일에 모듈을 필요로 끝낼 수 할; 이것은 여러 가지 방법으로, 정상이며, 좋은 일이 (더 네임 스페이스 지정 문제 등) 모듈 및 패키지에 대한 자세한 내용을 원한다면

것은,이 두 스크린 캐스트에 관심이있을 수 :

0

정상적인 반응 일 것이다 app.get() 통해 mysql 객체를 전달,하지만 난 당신이 오븐있어 확실 해요 어 - 생각.

routes/index.js 상단에 var mysql = require('mysql');을 포함하는 것으로 간단합니다. 실제로 모든 데이터베이스 상호 작용이 경로에서 완료되면 app.js에 mysql을 요구하지 않아도됩니다.