問題タブ [javascript-import]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2970 参照

javascript - 明示的にリストせずに、すべての名前付きエクスポートをエクスポート名でインポートします

modules.jsモジュールからすべてのdefaultエクスポートをモジュール名でエクスポートするファイルがあります(インデックスファイルでのES6エクスポート/インポートに続きます):

私のapp.jsでは、このモジュール バンドルをインポートしたいと考えています。

a...z からエクスポートされた変数を からインポートしmodule.jsて、で使用できるようにしapp.jsます。

明らかにやりたくない

これは非常に冗長であり、 にモジュールを追加するたびに、 in module.jsも変更する必要があります。importapp.js

私はもう試した

しかし、変数は では使用できませんapp.js

質問:すべての名前付きエクスポート をエクスポート名でインポートするにはどうすればよいですか?

例のモジュール./modules/a/a.js:

0 投票する
3 に答える
10607 参照

node.js - ノードがrequire not importを使用するのはなぜですか?

私は node.js を学習していますが、 React が使用するrequire構文ではなく、なぜ構文を使用するのか疑問に思っています。import

すなわち

const Validator = require("validator");

VS

import Validator from "validator";

私はes6だと信じてimportいましたが、それがノードで使用されていない理由を説明しているとは思いません。

0 投票する
2 に答える
38 参照

javascript - インポートのインポートからコードを持ち込むことを避ける

webpack バンドルを小さくする演習を行っています。webpack のバンドル アナライザーを使用すると、一度しか使用されていないにもかかわらず、非常に重いパッケージが 2 つの異なる非同期チャンクに含まれていることがわかりました。コードを掘り下げた後、おそらく次のシナリオが原因であることがわかりました。

file1.js

file2.js

file3.js

file1 は重いパッケージをグローバルにインポートし、file2 は file1 から関数をインポートするため、実際にパッケージを使用している関数をインポートしていなくても、依存関係として重いパッケージを取得すると想定しています。それが使用されている唯一の場所であるため、file3 のチャンクだけに大きな依存関係が含まれていることを期待します (むしろ、希望します)。

このようなインポートを処理する特定の方法はありますか? おそらく、これを支援するためにwebpackでできる魔法の構成、モジュール/関数を構造化するより良い方法、または関数/モジュール/パッケージをインポートするより良い方法ですか?

私はwebpack 4を使用しており、ES2017を使用しています