导入外部库

看起来似乎是语法

import * as lib from 'libName';

import lib = require('libName');

是一回事,但他们不是!

让我们考虑一下,我们要导入一个使用 TypeScript 特定的 export = 语法导出的 Person

class Person {
...
}
export = Person;

在这种情况下,无法使用 es6 语法导入它(我们在编译时会收到错误),必须使用 TypeScript 特定的 import = 语法。

import * as Person from 'Person';  //compile error
import Person = require('Person');  //OK

反之亦然:经典模块可以使用第二种语法导入,因此,在某种程度上,最后一种语法更强大,因为它能够导入所有导出。

有关更多信息,请参阅官方文档