2016-08-14 2 views
5

현재 Babel을 사용하고 있습니다.ES6 가져 오기 오류 처리

내가했던 require와 전에 다음

try { 
    var myModule = require('my-module'); 
} catch (err) { 
    // send error to log file 
} 

을 그러나 import이 작업을 수행 할 때 : 이해 이제

'import' and 'export' may only appear at the top level

:

try { 
    import myModule from 'my-module'; 
} catch (err) { 
    // send error to log file 
} 

나는 오류를 얻을 그 import은과 다릅니다.. 독서 코드 Are ES6 module imports hoisted? import 호이스트는 코드 실행 전에 가져 오기가로드됨을 의미합니다.

내가 전에 한 일은 실패가 필요한 경우 로그를 작성하여 전자 메일 (로그를 로그 저장하는 등)을 통해 알려주는 것입니다. 그래서 내 질문은 다음과 같이 요약됩니다.

노드 j에서 좋은 방법으로 가져 오기 오류를 처리하는 방법은 무엇입니까? 그런 것이 있습니까?

+0

바벨을 사용하셨습니까? – Tugrul

+0

@Tugrul 아, 그래, 나는 이것을 언급해야한다. –

+0

나는 지금 아무런 질문이 없다 :) – Tugrul

답변

2

이 이야기는 그것을 멀리주고 : https://github.com/ModuleLoader/es-module-loader/issues/280 그리고 당신이 말한 것에 동의합니다.

import only works at the base level. They are static and always load before the module is run.

코드 검사를 할 수 없습니다.

그러나 좋은 소식은 그것이 정적 일 때 분석 할 수 있다는 것입니다. webpack과 같은 도구는 빌드시 오류를 발생시킵니다.

관련 문제