2016-08-14 2 views
5

私は現在Babelを使用しています。ES6インポートエラー処理

私はrequireとする前に、次のでした:importでこれをやろうとしたときに

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

は、しかし:

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

私はエラーを取得する:

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

は今、私は理解してそのimportはとは異なります。読み込みAre ES6 module imports hoisted?importホイストは、コードの実行前に読み込みが読み込まれることを意味します。

私が以前にしたことは、いずれかが失敗するとログが作成され、電子メール(logstashなどにログを送信する)で私に警告したということでした。ですから、私の質問は次のようになります。

nodejsでは、適切な方法でインポートエラーを処理するにはどうすればよいですか?そんなことがあるの?

+0

Babelを使用しましたか? – 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のようなツールはビルド時にエラーをスローするということです。

関連する問題