2016-06-22 7 views
2

webpack + vue-loader를 사용하여 vuejs 앱을 만듭니다. 구성 요소에 대해 복수 .vue 개의 파일이 있습니다. 나는 이런 식으로 뭔가 쓸 때 :가져 오기에서는 가져온 라이브러리의 새 복사본을 만들지 않습니까?

import _ from 'lodash'

ComponentA.vueComponentB.vuescript 부분 내부를,이 lodash의 두 개의 복사본을 만들 않거나 단순히 참조를 가져올 수 있는가?

+1

식별자'lodash'가 사용하는 두 위치에서 동일한 모듈을 가리키는 경우, 모듈은 한 번만 인스턴스화됩니다. – Bergi

답변

3

ES6 모듈 또는 ES6 모듈의 일부를 가져 오면 바인딩이 생성됩니다. ES6 수출 불변 바인딩 모듈 동안

CommonJS는 내보내기 값 모듈. 이 블로그 게시물은 그 의미를 설명합니다.

[출처 : ES6 Module Exports]

그래서 대답은 '아니오, 그것은 수출의 복사본을 생성하지 않습니다. 모듈은 한 번 초기화되고 각 가져 오기는 동일한 값에 대한 참조를받습니다.

+1

오해를 막기 위해'require()'를 사용해서도 중복되지 않습니다. 같은 모듈의 후속'require '는 같은 값에 대한 참조로 대체된다. –