babel-plugin-transform-runtime
プラグインを使用している場合、私のコードはすべてのヘルパー関数をインラインにする代わりにimport
/require
babel-runtime
になります。これは素晴らしいですが、私の図書館に依存性がありますbabel-runtime
。私がやりたいことは、Babelに1つの余分なファイル(./babel-runtime
)を抽出させ、それを他の出力ファイルにドロップして、外部のの依存関係に含める必要はありません。つまり、私のライブラリが使用されているどこにいても、それをpackage.json
に追加する必要はありません。これは可能ですか?外部依存関係のないbabel-runtime transformの使い方は?
答えて
あなたはtransform-runtime
プラグインでmoduleName
オプションを使用して代わりにbabel-runtime
のカスタムモジュールをインポートすることができます:私が見つけ
{
"plugins": [
["transform-runtime", {
"moduleName": "./babel-runtime"
}]
]
}
ライブラリのディレクトリ構造がフラットでない場合、モジュールのパスが壊れてしまいます。また、 'node_modules'の' babel-runtime'を私のdistにコピーすることをお勧めしますか? – mpen
@mpenはい。外部依存として 'babel-runtime'を使いたくないと言ったので、ローカルモジュールとして使うことができます。しかし、多分私はあなたの質問を誤解した。実際に達成しようとしていることを説明できますか?外部依存として 'babel-runtime'を含むことに何が問題になっていますか? –
ライブラリを作成し、それがbabel-runtimeに依存する場合は、ライブラリを使用する人も誰でもインストールする必要があります。私はそれが "ピア依存関係"になると思う。私は小さなユーティリティライブラリに依存したくない。それがモノリシックなプロジェクトだったなら、確かに、いくつかの追加のdepsは大したことではありませんが、小さなヘルパー関数のセットでは、それはうまくいきません。 lodashにbabel-runtimeが必要かどうかを想像してください。 – mpen
唯一の解決策はがbabel-plugin-transform-runtime
プラグインを使用して、あなたの設定にexclude: ['transform-regenerator']
を追加しないにしました。これにより、Babelがリジェネレータに依存するのを防ぐことができます。また、古いブラウザではコードが実行されないことを意味します。
古いブラウザのサポートが必要な場合は、fast-async
を試すことができます。インデックスファイルの依存関係をインライン展開する方法はあると言いますが、まだ試していません。私はこれがブラウザがPromisesをサポートしているが、async/awaitはサポートしていないと仮定していると思う。
- 1. 外部依存関係のないジオコーダーの作成方法
- 2. Netty eclipse "必須ではない外部依存関係"?インポートエラー
- 3. Gradle:外部依存関係の変更
- 4. CMake:外部プロジェクトの依存関係
- 5. Typescriptの外部JavaScript依存関係
- 6. Dataflowパイプラインの外部Python依存関係
- 7. SQL Serverの外部依存関係
- 8. 関係に依存する外部キー
- 9. 流行の外部依存関係(ブートストラップのようなもの)
- 10. は、関連する外部キーの依存関係
- 11. Cocoapod依存関係の扱い方は?
- 12. panic = abortを外部依存関係で使用するには?
- 13. Gradle依存関係とGradle依存関係のEclipseの違い
- 14. 外部依存関係に必要なlibを除外してください
- 15. 内部ライブラリの依存関係をbrowserifyで外部スコープにエクスポート
- 16. Gradle:リリースビルドからの外部依存関係(lib)を除外
- 17. 依存関係の依存関係
- 18. 依存関係のプロパティ依存関係
- 19. IntelliJでJunitとSeleniumの外部Maven依存関係を取得できない
- 20. Gradle:外部依存関係はどこに保存されていますか?
- 21. クラウドファウンドリCLIを使用した外部依存関係
- 22. 依存関係図で外部キーを指定する方法
- 23. 依存関係の依存関係の使用
- 24. 存在しない依存関係sybase
- 25. 異なるスコープの依存関係内のMaven依存関係
- 26. 依存関係のないpackage.jsonファイル?
- 27. 角度:依存関係のないプロバイダ
- 28. 依存関係のないcreate.aarファイル
- 29. Typescriptでの外部依存関係のインポート
- 30. 外部ライブラリおよびプロジェクトの依存関係の質問
webpackまたはロールアップでコードをバンドルしないとこの問題は解決しますか? –
@MichałPerłakowskiまあ、私はそれを事前にwebpackしたくないです。アイデアは、私のライブラリをES6モジュールとして配布して、消費者がそれを握手できるようにすることです。ロールアップがどのようにランタイム依存性を回避するかは不明です。 – mpen