ES6 モジュールを条件付きでインポートするにはどうすればいいですか? 質問する

ES6 モジュールを条件付きでインポートするにはどうすればいいですか? 質問する

次のようなことをする必要があります:

if (condition) {
    import something from 'something';
}
// ...
if (something) {
    something.doStuff();
}

上記のコードはコンパイルされず、 がスローされますSyntaxError: ... 'import' and 'export' may only appear at the top level

System.import写真のように使ってみましたここ、どこから来たのかは分かりませんSystem。結局受け入れられなかったES6の提案でしょうか?その記事の「プログラムAPI」へのリンクは、廃止されたドキュメントページ

ベストアンサー1

現在、ECMAに動的インポートの提案があります。これはステージ3です。これは次のようにも利用できます。バベルプリセット

以下は、ケースに応じて条件付きレンダリングを実行する方法です。

if (condition) {
    import('something')
    .then((something) => {
       console.log(something.something);
    });
}

これは基本的にプロミスを返します。プロミスの解決にはモジュールが必要です。提案には、複数の動的インポート、デフォルトインポート、jsファイルのインポートなどの他の機能もあります。詳細については、動的インポートはこちら

おすすめ記事