2017-04-08 6 views
1

私は数日前にTypescriptを学び始めました。これまでのところ、特にモジュールではかなり混乱していました。TS 1.xで書かれたTS 2.xのタイプからインポートできますか?

declare module 'es6-promise' { 
var foo: typeof Promise; // Temp variable to reference Promise in local context 
namespace rsvp { 
    export var Promise: typeof foo; 
    export function polyfill(): void; 
} 
export = rsvp; 
} 

あり:

ES6-約束パッケージからタイピングの定義がされて私はnpm install -s @types/knockoutを使ってタイピングをインポートするんだけど、タイピングavaillableのほとんどは、まだここで

活字体1に書かれていますtypescript 2からexport = xxxとして指定されたデフォルトのエクスポートをインポートする方法はありますか?

答えて

1

はい、使用できます。残念なことに、TypeScriptは、将来の見通しではなく、ESモジュールへの逆方向アプローチを採用しています。

export = rsvp 

は、デフォルトの書き出しではありません。

デフォルトのエクスポートの形式を持っているでしょう

export default rsvp; 

export =はCommonJSモジュールの利用可能module.exportsプロパティに割り当てを意味活字体CommonJSの特定の構造です。

デフォルトとしてインポートするには、2つのことを行う必要があります。

  1. ESモジュール<使用し、あなたのtsconfig.jsonに"allowSyntheticDefualtImports": trueを設定 - > CommonJSモジュールなどSystemJSおよび/または別のビルドステップ
パイプバベルを通して、あなたのコードをとして相互運用を意識ランタイム
関連する問題