import {component} from 'libName'; // Will import the class "component"
import {component as c} from 'libName'; // Will import the class "component" into a "c" object
import component from 'libname'; // Will import the default export from libName
import * as lib from 'libName'; // Will import everything from libName into a "lib" object
import lib = require('libName'); // Will import everything from libName into a "lib" object
const lib: any = require('libName'); // Will import everything from libName into a "lib" object
import 'libName'; // Will import libName module for its side effects only
この構文では、
import * as lib from 'libName';
そして
import lib = require('libName');
同じものですが、そうではありません!
TypeScript固有のexport =
構文でexport =
されたPersonクラスをインポートしたいと考えてみましょう:
class Person {
...
}
export = Person;
この場合、es6構文でインポートすることはできません(コンパイル時にエラーが発生します)。TypeScript固有のimport =
構文を使用する必要があります。
import * as Person from 'Person'; //compile error
import Person = require('Person'); //OK
逆の言い方をすると、クラシックモジュールは2番目の構文でインポートすることができます。最後の構文は、すべてのエクスポートをインポートできるのでより強力です。
詳細については、 公式文書を参照してください。