2017-11-18 14 views
0

는 수출 코드를 예시하기 위해이 코드를 사용 :webpack에서 module.exports가 다르게 작동합니까? 이 <a href="https://www.ag-grid.com/ag-grid-understanding-webpack/" rel="nofollow noreferrer">tutorial</a> 저자에

//

var sum = function (a, b) { 
    return a + b; 
}; 
module.exports = sum; 

을 sum.js 그러나이 잘못 아닌가요? 나는 module.exports 개체입니다 생각 당신은 그것에 sum의 핵심이 다른 article 무슨 짓을 같은 유사 그것에 함수의 value 할당한다고 가정하고 -

//

을 greetings.js을

// var exports = module.exports = {};

exports.sayHelloInEnglish = function() { 
    return "HELLO"; 
}; 

exports.sayHelloInSpanish = function() { 
    return "Hola"; 
}; 

. 첫 번째 저자가 엉망이 되었습니까?

답변

3

module.exportsrequire()에서 반환 될 내용을 나타냅니다. 그 값을 object 메소드를 포함하는 값으로 설정할 수있을뿐만 아니라 그 값을 함수 나 다른 할당 가능한 값으로 설정할 수 있습니다.

+0

이며 파일 단위로 범위가 지정되어 있습니까? 그래서 각 파일의'module.exports'는 파일 a.js에서 값을''a''로 설정하는 것이 파일의''b''에 값을 설정하는 것을 엉망으로 만들지 않는다는 의미에서 그 파일에 적용됩니다 b.js? commonjs는 마술처럼 당신이 요구할 수 있도록이 모든 키와 값을 1 개의 객체에 넣을 수 있습니까? – stackjlei

+0

Webpack을 사용할 때 모든 파일은 IIFE 모듈을 사용하여 하나의 큰 파일로 묶입니다. 폐쇄를 통해 모듈 간의 변수 이름 충돌을 방지합니다. –

+0

만족스러운 경우 답변을 수락하십시오. –

관련 문제