2016-07-27 4 views
1

안녕하세요 저는 expressjs에 새로 왔습니다. 관리자 루트를 사용하여 관리자가 레코드를 업데이트하고 싶습니다. 경로에서 업데이트 된 레코드에 코드를 쓰고 싶지 않습니다. 대신 일부 함수 나 db에서 레코드를 가져 오거나 업데이트 한 개체를 전달해야합니다. passportjs를 사용하여 인증합니다. 현재 내 경로는 다음과 같습니다. -익스프레스 루트의 외부 파일에서 호출하는 방법

그래서 모든 관리 작업을 위해 다른 js 파일을 만들었습니다. 그 같은 루트/컨트롤러/admin.js과 외모에서 -

내가 뭘 후 오전하면 데이터베이스에서 일부 데이터를 얻을 나는 개체를 전달할 수 있도록 개체를 반환 몇 가지 함수를 작성하는 것입니다
var  mysql  = require('mysql'), 
    dbconfig = require('../config/database'), 
    connection = mysql.createConnection(dbconfig.connection); 

    module.exports = { 


    } 

내 길로 그리고 거기에서부터보기까지. 누구든지 날 도와 줄 수 있을까? 감사. 또한 expressjs PLZ 학습을위한 우수 사례를 알고 있다면 알려주십시오. 많은 감사드립니다. 건배.

답변

1

나는이 질문에 답하려고 노력할 것입니다. 내가 옳다면, 당신의 루트에서 모듈의 메소드를 호출하고 싶습니까?

다음 예제에서는 모듈 파일이 admin.js이라고합시다. 이것은 모듈 외부에서 액세스 할 수있는 메서드를 만드는 방법입니다.

admin.js 당신의 루트 파일에 다음

var mysql  = require('mysql'), 
    dbconfig = require('../config/database'), 
    connection = mysql.createConnection(dbconfig.connection); 

module.exports = {}; 

module.exports.retrieveData = function() { 
    //Data retrevial code here. 
}; 

, 우리가 예를 들어 routes.js을 가정 해 봅시다. 이것은 메소드를 호출하는 방법입니다.

routes.js

var admin = require('./admin.js') //Remembering to require the module! 

database.retrieveData(); 

그런 다음 retrieveData() 방법의 매개 변수를 통해 쿼리를 전달할 것입니다.

+0

module.exports.stockData = 함수() { \t stockRecord = connection.query ("여기서 질의"기능 (ERR 행) { \t \t (ERR) { \t \t \t 투사 ERR 경우; \t \t} \t \t (rows.length!) { \t \t \t을 console.log ("어떤 기록을 찾을 수 없습니다")의 경우, \t \t} \t,321 0 else { \t \t \t return rows; \t \t} \t}); \t }; 내가하고 싶은 것은 결과를 경로로 돌려 보내는 것뿐입니다. 사과 나는 expressjs에 아주 새롭다. – jahid

+0

이것은 내가 지금까지 가지고있는 것이다. 내가 원하는 것은 결과를 경로에 전달하여 내가 가져올 수있는 것입니다. Plz보세요. http://codepen.io/jahhidhaque/pen/QExzgY – jahid

+0

'module.exports.stockData' 메쏘드에서'rows'가 있다면 행을 반환하기를 원할 것입니다. 그런 다음 경로의 주식 변수에서이 데이터에 액세스합니다. 행이 발견되지 않으면 false도 반환합니다. https://jsfiddle.net/cjmjn3xa/ –

관련 문제