プロジェクトでES6構文を使用するために、gulp、browserify、babelifyを使用しています。 'import' and 'export' may appear only with 'sourceType: module'
browserifyとbabelifyでES6 node_modulesをどのように変換する必要がありますか?
babelify's github pageで提案されている解決策を読んだことがあります。これは、ES6で書かれたnode_moduleをインポートするとエラーになります。要するに、二つの可能性があります:browserifyはbabelifyですべてのファイルを変換(および不要なため無視し、オプションを追加しようとするように
- は、影響を受けたnode_moduleのpackage.json
- 設定の一気にbrowserifyオプションを追加します。ファイル)。
最初のオプションは、他の人が自分のプロジェクトをクローンしてすぐに起動して実行できないようにします。おそらくnpm postinstallスクリプトを使用して回避策がありますか?
第2のオプションは、過剰なもののようです。これにはより洗練されたソリューションがありますか?
通常、あなたがそれを公開する前に、あなたのコードをコンパイルしたいです、 BrowserifyなどはES6について何も知る必要はありません。それはとにかく最も一般的なワークフローです。 – loganfsmyth
したがって、正しく理解されていれば、その特定のnpmモジュールの作成者はES6コードを公開すべきではありません。 – pwagner
Babelifyには['only'オプション](https://github.com/babel/babelify#additional-options)があります。グローバル変換として設定し、変換する 'node_modules'を制限するために' only'を使用することができます。 – cartant