問題タブ [es6-modules]

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 に答える
635 参照

javascript - import ステートメントは、モジュール メンバーを未定義として返します

モジュール ( ./lib/myModule.js):


メインモジュール ( ./index.js):

ケース 1:

ケース 2:

オブジェクト一致表記Xを未定義として返し、完全なオブジェクトをインポートすると、メンバーが値を保持するのはなぜですか? 最初のケースの何が問題になっていますか?

私は ES 6 コードを で変換するために Babel を使用していpreset-es2015ます。

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

node.js - IBM bluemix での ES6 モジュールの構文サポート

ES6 インポート ステートメントを使用するアプリがあります。ibm cloudfoundry にデプロイしようとしています。ログは、ノード 6.8.0 から始まることを示しています。アプリは文句を言います:

ノード 6.8.0 を使用して Windows 10 デスクトップでアプリを起動しましたが、問題なく動作します。私は走った:

出力は次のとおりです。

出力は、アプリが動作する私のマシンでも、動作しない bluemix サーバーでも同じです。ここで私の Package.json:

サーバー/app.js:

ログの起動エラー:

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

javascript - ES6 で HTML/JS「プラグイン」を作成する - DOM ノードを更新する方法

私は現在ES6を学習中です。通常は JQuery プラグインとして記述していたカルーセルを作成しようとしていますが、代わりに ES6 モジュールとして記述して、import キーワードを使用してページの JS に追加できるようにしています。

カルーセルには互いに重なって配置されるスライドがあるため、JS 内で計算が行われ、最も高いカルーセル スライドの高さが決定され、この高さがカルーセルの UL 要素に適用されます。

このモジュールは、すべてのカルーセル要素の含まれる DIV、カルーセル スライドの UL など、コンストラクター内の DOM からいくつかの要素を取得します。

この高さはブラウザの幅が小さくなるにつれて調整する必要があるため、window.onresize でこの計算を行う関数を呼び出そうとしました。

ただし、これは機能しません。コンストラクターで変数に割り当てられた dom ノードが現在の幅と高さでキャッシュされているため、サイズ変更関数が新しい値を計算に使用しないためだと思います。

このキャッシュの問題を防ぐためにコードを調整するにはどうすればよいですか?

以下は、これまでのコードの単純化された Codepen です。(Codepen のためだけにメイン スクリプトに Carousel モジュール コードを追加する必要がありました):

http://codepen.io/decodedcreative/pen/vXzGpE/

ありがとう

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

polymer - Polymer 2.x: ES6 クラスベースの構文、要素定義

こちらのプレビュー ドキュメントには、次のコードが含まれています。

私の質問は:MyElement最初の行のビットは 2 行目のビットと一致する必要がありmy-elementますか? 最初のビットは 2 番目のビットによって何らかの形で制約されますか? それともその逆?

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

ecmascript-6 - commonjsでexportsキーワードを使用しても大丈夫ですか - webpack 1

モジュール it self 内で、キーワードを使用しexportsてエクスポートされた値にアクセスしてもよろしいですか? (これは es6 モジュール仕様の一部ですか?) webpack および babel / commonjs モジュールで正常に動作しているようです。exportsキーワードには、エクスポートされたすべてのメソッドへの参照が含まれています。

しかし、私の懸念は、これは有効ではない可能性があり、これはbabel / commonjs環境であるためにのみ可能であるということです.

bindMethodsまた、メソッドが明示的な名前を宣言することなく、このモジュール内のすべてのメソッドに動的にアクセスできるため、どのエクスポートが実際に使用されているかを判断することが不可能になるため、これがツリーシェーキングにどのように影響するかはわかりません。

例:

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

javascript - 別のモジュール関数をコールバックとして呼び出す [ES6]

ES6 モジュールと、それらの間の関数をコールバックとして正しく呼び出す方法について質問があります。

「page_API.js」を取り、データを受信するとコールバック関数が呼び出されます

この requestExecuteAsync などを処理する「xml_functions.js」で、サーバーが応答したら dataRecieved を呼び出したいと思います。

以前は、私が扱っていたコードベースは多くの JS ファイルで構成され、すべての関数がグローバル名前空間に存在していたため、関数は次のように機能していました。

ただし、dataRecieved のスコープがなくなったため、コールバック関数はウィンドウで未定義になりました。

xml_functions 内に dataRecieved 関数を含めてみました

そして、ただ電話する

しかし、「dataRecieved」インポートが requestExecuteAsync で定義されている別の文字列を与えられているため (例えば、「dataRecieved」ではなく「_Data_Recieved_」と呼ばれます。どうすればよいかわかりません。

どんな助けでも大歓迎です!

ありがとう

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

javascript - es6 three.jsのインポート

私の es6 のワークフローでは、babel と babel-plugin-transform-es2015-modules-system.js を使用して、system.js で使用するモジュールのインポート/エクスポートのみを変換します。モジュールのインポート/エクスポートを除くすべてのes6機能に「グリーン」ブラウザーを使用するだけです..これはwhatwg標準であるため、「es6」ではありません。

これはレガシー (非 es6) ライブラリでうまく機能し、必要なすべての npm パッケージを「インポート」できます。どういうわけか、babel モジュールのみが変換され、system.js が魔法のように機能します。

three.jsを除いて。three.js、three.min.js、three.modules.jsの3つのリリースすべてで試しました。最初の 2 つは暗黙のうちに失敗し、「未定義」モジュールが生成されます。3番目は失敗し、トレーサーが必要です.. system.jsのような変換だと思いますか?

では、es6 の世界で three.js を使用するにはどうすればよいでしょうか?

<script>タグとグローバルを 3 つだけ使用できると思います。または、おそらくロールアップ/webpack を使用してモジュールを削除しますか?

しかし、合理的な解決策があるに違いありません。結局のところ、three.js は内部で es6 モジュールを使用しています。