[解決済み] ES6: 条件付きおよび動的なインポート文
2023-01-03 07:44:41
質問
条件付き
以下のような条件付きimport文は可能でしょうか?
if (foo === bar) {
import Baz from './Baz';
}
上記を試しましたが、コンパイル時に以下のようなエラー(Babelより)が発生します。
'import' and 'export' may only appear at the top level
動的な
以下のような動的なimport文は可能でしょうか?
for (let foo in bar) {
if (bar.hasOwnProperty(foo)) {
import Baz from `./${foo}`;
}
}
上記は、コンパイル時にBabelから同じエラーを受け取ります。
これは可能なのでしょうか、それとも何か見逃しているものがあるのでしょうか?
推論
私がこれを行おうとしている理由は、いくつかの "ページ" のために多くのインポートがあり、それらは類似したパターンに従っているからです。動的な for ループでこれらのファイルをインポートすることにより、コード ベースをクリーンアップしたいと思います。
もしこれが不可能なら、ES6で大量のインポートを処理する良い方法はありますか?
どのように解決するのですか?
現在、ECMAでダイナミックインポートの提案を行っています。これは第 2 段階です。また、これは バベルプリセット .
条件付きレンダリングを行う方法は、以下の通りです。
if (foo === bar) {
import('./Baz')
.then((Baz) => {
console.log(Baz.Baz);
});
}
これは基本的にプロミスを返します。プロミスの解決は、モジュールを持つことが期待されます。この提案は、複数の動的インポート、デフォルトインポート、jsファイルのインポートなどのようなものも持っています。より詳しい情報は ダイナミックインポートについては .
関連
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み】SyntaxError: モジュール外部でimport文を使用できない
-
[解決済み] [Solved] ワイルドカードを使って、ディレクトリ内のすべてのファイルからモジュールをインポートすることは可能ですか?
-
[解決済み】インデックスファイルでのES6エクスポート/インポート機能
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JestはES6のインポート/エクスポートをサポートしていますか?
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ES6モジュールを条件付きでインポートするにはどうすればいいですか?
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] node.jsのES6変数import名?