問題タブ [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 投票する
2 に答える
7492 参照

javascript - Rollup.js 変更なしで js ファイル (es6 モジュールではない) をインポートする方法 (myvar$extrastring)

まず、衝突を避けるために、rollup.jsが特定の変数の最後に余分な文字列を追加する必要がある理由を理解していますが... amd/ではない単純なjavascriptファイルを「連結/インポート」する方法がわかりませんcommonjs/es6、しかし単純な明らかにモジュール!

次のファイル構造があります。

foo.js

bar.js

main.js

構築後、私は得ました:

build.js

では、 Foo$1 の代わりに Foo を取得するにはどうすればよいですか? または、 bar.js の Foo の代わりに Foo$1 ですか?

編集:

場合によっては、main.js で、ビューでデフォルトのインポートを使用してデフォルト名をオーバーライドします。

次のようなエラーが発生しました(通常!):

存在しないエクスポート 'default' は、main.js によって foo.js からインポートされます

それは誤解ですが、stackoverflow とインターネットを調査した結果、このトリッキーな問題を解決する方法については何も見つかりませんでした。

ですから...よろしくお願いします!

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

javascript - ES6 モジュールの共同エクスポートを分解する方法

エクスポート シナリオでちょっとした問題が発生しましたが、その理由がわかりません。これに対処するには Babel プラグインが必要かもしれませんが、どれかはわかりません。

私はバベルを駆け抜けています。これが私のrcです:

いつものように import ステートメント内で test.js を分解できるはずですが、そうではありません。index.js で個々の関数をエクスポートすると、うまくいきます。次のように:

ただし、それは避けたいと思います。

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

javascript - Rollup Babel プラグインを使用しているときに es6 インポートを無視するように Babel に指示するにはどうすればよいですか?

バベルに特定のインポートを無視するように指示する方法はありますか。たとえば、バベルにポリフィルなどの es5 インポートに触れさせたくないなどです。

除外オプションを試しましたが、何もしません。これが私の開発依存関係です:

また、ここに私の index.js と、babel に無視してもらいたいことを示すコメントがあります。

これどうやってするの?これに対処するために別のパッケージが必要ですか?

どんな助けでも大歓迎です、ありがとう。

0 投票する
0 に答える
399 参照

ecmascript-6 - フレームワークの組み方はES6

関数のコレクションをフレームワークにパッケージ化する「es6の方法」はありますか? 次のどの方法 (または何かを見逃した場合は別の方法) が機能しますか? 私は Babel を使用してコードをトランスパイルしており、選択したルートが可能な限り将来の証明であることを確認したいと考えています。

背景:

私はプロジェクトを開始し、多くの機能を独自のフレームワークに引き出したいと考えています。ユーティリティ関数の数が十分に大きくなったため、それらを使用するアプリの残りの部分から分離する必要があります。クラスと関数はフォルダーごとに整理されており、それぞれが次のように独自のファイルに含まれています。

だから現在、answers.js私は次のようなものを持っています:

myframework次に、インポートできる新しいプロジェクトを整理してパッケージ化したいですか?

オプション1:

1 つのmyframework.jsファイルを作成し、サブセクションの名前空間を作成します。次にanswers、次のようになります。

または、インポートが次のようになり、myframework.jsまだ1つのファイルになるようにサブセクションを宣言する方法はありますか:

オプション 2:

セクションごとに 1 つのファイルを作成します。coreベースレベルか何かを呼び出すと思います:

と:

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

angularjs - AngularJS: ES6 の route.resolve

importES6 モジュールとステートメントを使用するために、既存の Angular プロジェクトをリファクタリングしようとしています。これはほとんどのアプリケーションで機能しますがresolve、ルートのブロックが原因で問題が発生します。

私が知る限り、構文は以前と同じである必要があります。

ただし、ブレークポイントを設定するsomeDataと、「DataService」が angulars 依存性注入によって適切に解決されていないことがわかります (または、適切に解決されていますが、まだ初期化されていません)。サービスは対応するモジュールに登録されますが、そのコンストラクターは関数に入る前に呼び出されませんでしたsomeData

構文が間違っていると思ったので、少し実験したところ、他のいくつかのサービス (同じ構文で作成され、 と同じモジュールに登録されているDataService) が実際に初期化され、resolve-block 内に正しく挿入されていることがわかりました。

どこを見ればいいのか、またはこれをトラブルシューティングする方法はありますか?

0 投票する
0 に答える
81 参照

javascript - 角度モジュールを変換する

そこで、データ永続化フレームワークを Angular 1 モジュール (ここで見つけることができます) として構築し、React など、Angular 以外の他のアプリで使用 (または書き換え) したいと考えています。

UI 機能、ルート、または angular (コントローラーなし) に固有のものに関連するものは何もありません。これは、angular のモジュール システムを使用して編成された単なる JavaScript オブジェクトです。

(ほぼ: $qをプロミスに使用し、ダイジェスト ループと統合しますが、そのビットを削除し、別のプロミス ライブラリに切り替えて、Angular の外部で動作するようにします)

だから私がやりたいのは、これをある種の「JavaScriptモジュール」として書き直すことですが、それらを回避する方法がわかりません。

だから私の質問は:

  • NodeとReactでこれを使用したい場合があることを念頭に置いて、どの形式のモジュールを作成する必要がありますか(AMD、CommonJS、ES6?)。
  • angular モジュールで取得するのと同じ種類の依存性注入を取得できますか?
  • $qに代わるフレームワーク (Bluebird など) はありますか?または、使用するモジュール形式に応じて制限がありますか?
  • 私がこれを行う最初の人ではないことは明らかです(有用な情報が見つからないにもかかわらず)。ガイドや変換ツールさえあれば:-Dを指摘していただければ幸いです。