デフォルトエクスポートなしで定義されたモジュールをimport module from 'module';
にインポートしてcommonjsにコンパイルできますか?TypeScript(CommonJS)のデフォルトエクスポートを使用しないモジュールのインポート
このStack Overflow Answerは、--allowSyntheticDefaultImports
オプションを渡すことが可能であることを示しています(ただし、systemjsモジュールの場合のみです)。 Compiler Options Documentationには、allowSyntheticDefaultImports
が型検査にのみ影響すると記載されています。
import * from module as 'module';
の構文以外の回避策はありますか?
、なぜあなたがモジュールをインポートするために使用する構文はあなたに関係しますか?モジュール 'import * *を' module 'として使うのはなぜですか? – JKillian
いくつかの理由があります: 1)醜い 2)意図的にデフォルトエクスポートを持たないモジュールのインポートと、異なる構文ではあるが、デフォルトのエクスポートを持つモジュールとの間に違いが生じます。理論的には、構文の回避策を一度変更する必要があります(/ if)jquery.d.tsファイルがデフォルト機能としてJQuery関数を適切にエクスポート(imo)するように更新されています。 –
#1 hahaを無視すると、あなたのポイント#2は本当にあなた次第であるか、 '.d.ts'ファイルまでです。実際の '.js'ファイルがデフォルトのエクスポートを定義している場合、' .d.ts'ファイルにその情報が含まれているはずです。 'import module from 'module';を使用してインポートします。ファイルは名前付きのエクスポートのみを定義し、 '.d.ts'ファイルはそのことを反映し、あなたの投稿に記載されているように名前付きインポートやワイルドカードインポートを使ってファイルをインポートします。 TLDR:使用するインポート構文は、実際のJSモジュールの形状によって決まります – JKillian