機能をリクエストしバグを報告しますか?
特徴
現在の動作は何ですか?
ライブラリはCommonJSモジュールとして公開されています。
期待される動作は何ですか?
ライブラリはES6モジュールとして公開されています。
なぜこの動作が必要なのですか?
新機能をリリースしてから最初の数日でraven-jsライブラリを出荷したいだけです。 その後、アプリのパフォーマンスを向上させるために、20KBのraven-jsライブラリを削除したいと思います。
20KBのraven-jsライブラリを削除するために、webpackの「es6-tree-shaking / uglify-js-dead-code-removal」機能を使用したいと思います。
import { Raven, RavenVue } from './es6/raven';
if (FLAGS.SENTRY_ENABLE) {
Raven.config(CONFIG.SENTRY_DSN).addPlugin(RavenVue, Vue).install();
}
これは、ES6モジュールを使用している場合にのみ可能です。
esモジュールに変換する予定はありますか? PRを受け入れますか?
フィードバックありがとうございます!
提案されたソリューションに1つの改善を加えるかもしれません:
ソースコードはES6インポートおよびエクスポートを使用している場合には使用することが可能であるmodule
でキーをpackage.json
パッケージのES6メイン・エントリ・ポイント参照する{ "module": "src/raven.js" }
。 参照: https :
そうすれば、 main
キーはバンドルされたCommonJS互換バージョンのパッケージ{ "main": "dist/raven.js" }
できますが、webpackやrollupなどのツールを使用している人は通常の方法でそれらをインポートできますimport Raven from 'raven-js'
は、ファイルのES6バージョンに自動的に解決されます。
それは間違いなく私がすぐにやりたいことです。
ただし、ほとんどの場合、webpack / rollupに移行し、提供するバンドルが10kbの予算を超えないようにする必要があります。
現在取り組んでいることが他にもあるので、いつ出荷されるかはわかりません。
@kamilogorek私はいつも
これは、ソースをESモジュールに変換するために必要な最初のステップです。
このPRをレビューしていただければ幸いです。 :octocat:
最も参考になるコメント
それは間違いなく私がすぐにやりたいことです。
ただし、ほとんどの場合、webpack / rollupに移行し、提供するバンドルが10kbの予算を超えないようにする必要があります。
現在取り組んでいることが他にもあるので、いつ出荷されるかはわかりません。