2016-10-06 5 views
0

하나의 파일에는 JavaScript로 을 정의하고 다른 파일에는 socket = io()을 정의하고 다른 파일에서이 변수를 사용하고 싶습니다.JavaScript에서 ES6 모듈을 사용하여 간단한 변수 내보내기

나는 ES6에서 모듈을 사용해야한다고 생각하지만, 어떻게해야할지 모르겠다.

지금은 실제로 변수를 사용하는 파일보다 먼저로드되는 파일에서 두 변수를 정의하기 때문에 작동하지만 나쁜 코드처럼 보이고 코드 IDE 편집기에서 변수 현재 파일에서이를 볼 수 없으므로 정의되지 않았습니다.

자습서를 읽었지만 한 파일에서 변수를 정의하고 다른 파일로 내보내는 방법을 여전히 볼 수 없습니다.

그냥

const pageId = 3; 
const socket = io(); // which is defined in file 'socket.io-1.4.5.js' which is loaded before this file 

module.exports = { pageId, socket }; 

하고 다음 심지어 어디서든이 파일을로드하지 않고

const pageId = require('pageId'); 
const socket = require('socket'); 

socket.on('connect', ...); 
(...) 

와 다른 파일에서 가져올 것인가?

+1

가능한 중복 http://stackoverflow.com/questions/25494365/es6-module-export : 당신의 firstfile는 "strange.js"라고 Suposing, 그것은 같이 수행해야합니다 -options) – Anthony

+0

실제로 "요구"할 때 어떤 방식 으로든 그들을로드하고 있습니다. – mtsdev

+0

"*이 파일을 어디에도로드하지 않고 *?"라는 것은 무엇을 의미합니까? – Bergi

답변

0

글쎄, 난 그

을 필요 시나리오가,이 바보 (특별 페이지 id 예) 소리로 들리 겠지만 싹이 모듈의 몇 백으로 물리/수학 라이브러리를 구축하고 상상해보십시오. 말된다. 한 곳에서만 에서 수학 상수를 선언 그리고 그들은 하나가 아니에요 최적의 솔루션으로 아마 그들에게 하나를 수출

을 필요로하는 경우에만 때만로드하지만, IO 객체로

를 작동하는 솔루션입니다합니다. 또한 새 구성을 작성하고 모든 구성을 재구성하는 대신 모든 구성 값을 변경 한 후 다시 구성하고 새로운 구성으로 모든 구성 값을 변경하는 것이 좋습니다. (이 동작이 작동한다고 가정하면 의심)

어쨌든 샘플 구문이 잘못되었습니다 ... "필요"하고 개별 var 또는 기능을 그렇게 할 수 없습니다.

const pageId = require('strange').pageId 
const socket = require('strange').socket; 
[ES6 모듈 내보내기 옵션] (의
관련 문제