2017-12-04 1 views
5

개인 프로젝트의 경우 ES6 가져 오기를 사용하여 더 깨끗한 코드를 작성하려고합니다. 첫 번째 테스트에서 메뉴를 생성해야하는 객체를 작성하고 있습니다. 클래스를 직접로드 할 때 전체 코드가 작동하지만 ES6에서 가져 오기 및 내보내기를 사용할 때 라인의 "Uncaught SyntaxError : Unexpected identifier"오류가 발생합니다. main.jsES6 모듈 가져 오기 "Uncaught SyntaxError : Unexpected identifier"

다음 파일을

자산 /의 JS/menu.js

'use strict'; 

export default class Menu 
{ ... } 

자산 /의 JS/main.js

이러한 코드의 관련 줄 것을

index.html을

<script type="module" src="assets/js/menu.module.js"></script> 
<script src="assets/js/main.js"> 

참고.

<script type="module"> 라인을 사용하면 나에게 아무런 차이가없는 것 같습니다. 실험실과 ES6 모듈에 크롬 플래그가 모두 설정되어 있습니다.이 설정을 사용하지 않으면 import에 대한 오류가 발생하지 않았으므로 정의되지 않았습니다.

크롬 버전은 62이므로 다른 소스 (Google 업데이트 로그 자체 포함)에 따라 플래그가 없어도 작동해야합니다.

왜 이것이 작동하지 않는지, 그리고 내가 뭘 잘못하고있는 지에 대해 누구에게도 깨달을 수 있습니까?

+0

관련 줄 번호가 있습니까? 어떤 파일에 오류가 있습니까? –

+0

@BoyWithSilverWings 이걸 추가하는 것을 잊어 버렸습니다. 지금 추가되었습니다. 'main.js'의'import' 라인에 있습니다 – ZeroThe2nd

+2

'main.js'도'type = "module"도 필요합니까? 그것은 결국 모듈 구문을 사용합니다. – Bergi

답변

5

@Bergi가 의견에서 언급했듯이 main.js 가져 오기 라인에 type="module"을 추가하면 문제가 해결되었습니다. 모두 지금 일하고있다.

도움을 주신 모든 분들께 감사드립니다.

3

menu.module.js 파일을로드하려고하는데 실제로는 menu.js으로 이름이 표시되어 있습니다.

추신 : 가져 오기 문의에서 .js을 삭제할 수도 있습니다.

관련 문제