2017-12-26 9 views
4

나는 나의 HTML 파일보기 .html에 모듈을 정의 할 수 있어요 :html 안에 <script type = "module"> 태그에 정의 된 es6 모듈을 가져 오는 방법은 무엇입니까?

<script type="module" id="DEFAULT_MODULE"> 
      import Atom from './atom.js';  
      console.log("definition of getAtom") 
      export default function getAtom(){ 
      return new Atom('atom'); 
      } 
      console.log("exported getAtom") 
</script> 

은 또한 볼

=>이 가져올 수 있습니다 그 "anonymous"모듈을 같은 html 파일의 다른 모듈 스크립트로 옮깁니 까? 또는 일부 "코드 숨김"- me.html 파일에서도로드 된 JavaScript 파일? 수출이 효과가있는 것으로 보인다. 적어도 그것은 어떤 오류도 던지지 않습니다. 내가 예를 들어 시도 getAtom 방법의 수입

:

<script type="module"> 
    import getAtom from '.'; //this line does not work 
    console.log("usage of getAtom") 
    var atom = getAtom();    
</script> 

내가 기대

import getAtom; 
import getAtom from '.'; 
import getAtom from window; 
import getAtom from './me.html'; 
import getAtom from '.DEFAULT_MODULE'; 

같은 일부 구문은 그러나,이 라인 중 어느 것도 작동하지 않습니다.

=> "익명"모듈을 참조 할 수있는 올바른 구문은 무엇입니까?

크롬 버전 63.0.3239.108을 사용합니다.

관련 질문 :

How to dynamically execute/eval JavaScript code that contains an ES6 module/requires some dependencies?

+0

HTML 파일에서 codebehind에서 가져 오기? 나는 그렇게 생각하지 않는다. 이것은 추악한 코드 작성입니다. 모듈 유형의 ​​스크립트 태그에 대한 사용법은 전혀 없습니다. 그것은 단지 물건을 지저분하게 만들 것입니다. – Phiter

+0

예제 사용법은 관련 질문을 참조하십시오. 나는 당신이 약간을 안다면 덜 못생긴 대안들에 개방되어있다. – Stefan

답변

0

내가 알고있는 것처럼, "익명"모듈을 가져올 수있는 방법이 없다 "익명"모듈 (더 모듈 지정 또는 개별 URL이 없기 때문에 import.meta.url 그냥 html로 자사의 현재 사양으로 url). 이론적으로 미래에는 확장 될 수 있지만 그러한 기능에 대한 좋은 유스 케이스는 찾을 수 없습니다.

+0

런타임시'