やあ、
将来的にESモジュールに移行する計画はありますか、それとも価値がないと思いますか? ESインポートを使用して個々のメソッドをインポートできると便利です。これにより、ツリーのシェーキングやその他の多くのビルドの最適化が可能になります。
この質問がすでに行われている場合は申し訳ありませんが、問題を検索したところ、何も見つかりませんでした。 アンダースコアの背後にあるすべての作業に感謝します!
まだそこにないと感じてください
underscore.jsファイルの最後にモジュールエクスポート{_}を追加して、少なくとも'underscore.js'からimport_として
素晴らしいでしょう:+1:
モジュールをサポートしていないバージョンのJavaScriptとの下位互換性を維持しながら、モジュールのエクスポートをメインファイルに追加できる良い方法はありますか?
しかし、バベルはそれをしますか?
月、2018年4月23日には、13:02ジェレミー・アッシュケナス[email protected]
書きました:
モジュールのエクスポートをメインファイルに追加する良い方法はありますか?
モジュールをサポートしていないバージョンのバージョンとの下位互換性を維持する
JavaScript?—
あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/jashkenas/underscore/issues/2718#issuecomment-383704124 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AA9fvx9tIUVYAxL0PqcGIoDwhLe25ulOks5trjNlgaJpZM4RPowg
。
おそらくcore-js
が良い例ですが、おそらくモジュール式すぎてhttps://github.com/zloirock/core-jsを直接フォローすることはできません
@jashkenasご回答ありがとうございます。
メインファイルの上にimportステートメントを追加して、変換タスクなしで下位互換性を維持することは不可能だと思います。
私にとって最も簡単な解決策は、babelを使用してインポートステートメントをUMDに変換し、アンダースコアの2つのバージョンを公開するビルドタスクを用意することです。最初のバージョンはexport
で、2番目のバージョンはumd
。
@jashkenasあなた@mjeanroyの提案をどう思いますか? 喜んでお手伝いさせていただきます...
@jashkenasあなた@mjeanroyの提案をどう思いますか? 喜んでお手伝いさせていただきます...
もちろん! すべてのアンダースコア関数の名前付きエクスポートにスワップし、ロールアップを使用してファイルのUMDバージョンを公開するPRをマージできれば幸いです。
@jashkenasとてもかっこいい! srcを1つのファイルに保持しますか、それとも関数を個々のファイルに配置できますか?
1つのファイルをお願いします。
差分をできるだけ小さくし、結果をできるだけきれいに保つことができれば、それは大いに役立ちます。 理想的には、名前付きエクスポートをそれらが存在する関数に追加するだけです—デフォルトのエクスポートとしてアンダースコア自体を使用します。
@lohfu @mjeanroyは、その間にどちらかがこれに取り組んだことがありますか? そうでなければ、私はこれを採用することを申し出ています。
@jgonggrijp残念ながら、これに集中する時間がないので、ぜひお試しください。 近い将来、手伝う時間があれば、pingを実行して、状況を確認します。 頑張って、楽しんでください!
#の重複
#2826で終了しました。
最も参考になるコメント
1つのファイルをお願いします。
差分をできるだけ小さくし、結果をできるだけきれいに保つことができれば、それは大いに役立ちます。 理想的には、名前付きエクスポートをそれらが存在する関数に追加するだけです—デフォルトのエクスポートとしてアンダースコア自体を使用します。