2017-12-08 2 views
0

수출 기능에 문제가 Node.js를하지만내가 NodeJS에서 내보내기 기능의 성격에 대해 몇 가지 질문이

exports.bread = function bread() { 
    return 'bread: 2'; 
}; 

, 그것은이다 불가능 (아마도?)이 방법을 사용하여 기능을 내보내려면 :

function pullData(pair) { 
    console.log(pair); 
} 

module.exports = pullData; 

이 두 번째 방법으로 유일한 문제는 함수가 게양되지 않고, '다른 곳에서의 사용 제한합니다 것입니다?

변수를 내보내는 또 다른 방법은 변수를 개체 내에 포함시키고 해당 개체를 내보내는 것입니다. 그러나이 경우 모듈 내의 함수는 제한된 범위를가집니다 ...

그래서 선언 함수를 내보내고 사용하는 쉬운 방법이 있습니까? 아니면 달성하려고 노력해야하는 것이 아닙니다. 프로젝트

스크린 샷 :

module.exports = {pullData} 

을 당신이 그것을 필요로 할 때,이 수행합니다 : Main file code and console output

Code from the exporting file

+1

당신은'tradeData ('TEST')를해야 할 것;'. 또는 모듈을 'module.exports = {pullData : pullData};로 다시 작성하십시오. –

+1

_이 두 번째 메소드의 유일한 문제점은 함수가 hoisted_되지 않는다는 것입니다. 그렇습니다. 그러나 첫 번째 메소드에서는 hoist되지 않습니다. – George

+0

죄송합니다. George, 나는 다른 방향으로 돌았습니다. :) –

답변

1

module.exports = something을 쓸 때 한 가지만 내보내고 있습니다. 당신이 당신이 당신은 module.exports 객체의 일환으로, 다르게 내 보내야 그럼 수행 한 방법을 쓰고 싶다면 당신의 코드는이

var pullData = require('./getTicker') 
pullData('TEST') 

처럼 보일 것입니다. getTicker 파일에 exports.pullData = pullData을 작성하면됩니다.

그럼 당신은 그것을 가져 당신이했던 것처럼 사용할 수 있습니다 :

var trackData = require('./getTicker') 
trackData.pullData('TEST') 
+1

Perfect answer! 뿐만 아니라 내 길을 도왔지만, 나에게 몇 가지 멋진 기술을 보여 줬어 :) –

1

중괄호에 pullData을 넣어보십시오

const {pullData} = require("./getTicker"); 

희망을 작동 할거야.

관련 문제