2016-10-13 15 views
1

기능을 가져ES6 내보내기 및 I는 ES6 JS 파일 (test.js) ... 바벨 함께</p> <pre><code>export default function() { let foo = "test" return foo } </code></pre> <p>있는 경우 transpile 및 index.html 파일에서 호출 할 수있다

<script src="js/text-min.js"></script> 

다른 js 파일로 가져 오지 않고이 기능을 사용 하시겠습니까? 예를 들어. 다음 스크립트 태그 뒤에는 다음 코드가 있습니다. 당신이 볼 수 있듯이, 그것은 이름 __esModule으로 개체를 내보낼 속성을 추가

"use strict"; 

    Object.defineProperty(exports, "__esModule", { 
    value: true 
    }); 

    exports.default = function() { 
    var foo = "test"; 
    return foo; 
    }; 

, 위의 코드의

<script> 
    var bar = new foo(); 
    console.log(bar); 
</script> 
+1

확실한 옵션을 사용하여 원하는 변수를 표시하십시오. – Bergi

답변

0

transpiled 버전은 다음과 같이 생성 -이 웹팩에 사용 중입니다. 다른 건 없어. 따라서 import 나 require를 사용하지 않고이 기본 함수를 포함 할 방법이 없습니다.

+0

하나의 파일을 transpiled 플러그인으로 만들고 싶다면,이 경우 transpile 전에 가져 오기가 필요합니까? 그런 다음 속성을 파일로 액세스 할 수 있습니까? – Yasir

+0

babel/webpack을 사용하여 하나의 파일을 가져온 경우 다른 파일의 압축 파일에서 스크립트 및 액세스 메서드로 첨부 할 수 있습니까? – Yasir

+0

@ Yasir 그래서 webpack을 사용하고 있습니까? 너는 그렇게 말 했어야했다. – Bergi

0

실제로 찾고있는 것은 전역 변수입니다 (이는별로 좋은 생각이 아닙니다).

모듈 1 :

import {foo} from 'foo'; // still an ES6 module, just no export 

// global variable 'bar' 
window.bar = (...args) => foo(...args) + 6; 

이어서 2 모듈이 사용 모듈의 전체 지점 패배 매우 드물게 사용되어야

bar(1, 3, 5); 

참고 예를 들어.

+0

이 의미가 있습니다. 의도 된 최종 유스 케이스는 스크립트 태그를 통해 추가하는 es5 js로 es6을 처리하는 것입니다. 당신이 그것을하고, 수출/수입하고, 표준 es5 방법을하는 es6 방법을 가지고 있다는 생각. 플러그인으로 intenedd. – Yasir

+0

일부 브라우저가 실제 구현을 시작하면이 모든 것이 어떻게 상호 운용되는지 보는 것은 흥미로울 것입니다. –