导入模块并避免在名称前加上

Importing module and avoid prepending the name

我将 TypeScript 与 CommonJS 模块加载器一起使用。

我有一个名为 Util.ts 的文件,另一个名为 Main.ts

我在Util.ts文件中导出一个class

 export class Set {

 }

然后我将其导入 Main.ts

import * as Util from "./Util";

但是在我的主文件中我必须写 new Util.Set() 才能访问 Set class。有没有一种方法可以避免在 Util 标识符前面加上前缀?要是能写成new Set().

就好了

您可以像这样直接导入 class:

import {Set} from './Util';

如果要从 Util 导入多个值,您可以这样做:

import {Set, MyOtherClass} from './Util';

除了 Nathan 的出色回答,我不会在这里重复...您可以为导入的一个方面设置别名,如果您需要给一些不同的名称:

import * as Example from './module1'

// Long hand
var person = new Example.Person('Steve');

// Create an alias (doesn't have to be "Person")
import Person = Example.Person;

// Short hand
var person2 = new Person('Peter');