有人知道怎么做模块吗.出口?

我try 了一些不同的方法

export class Greeter {}

将编译为

exports.Greeter = Greeter;

但我真正想要的是:

exports = Greeter;

所以我可以这样使用它:

import { Greeter } from "greeter";

const greeter = new Greeter();

而不是

import { Greeter } from "greeter";

const greeter = new Greeter.Greeter();

Typescript可以这样做吗?

推荐答案

可以像这样导出TypeScript中的单个类:

class Person {

  private firstName: string;
  private lastName: string;

  constructor(firstName: string, lastName: string) {
    this.firstName = firstName;
    this.lastName = lastName;
  }

  public getFullName() {
    return `${this.firstName} ${this.lastName}`;
  }
}

export = Person;

下面是如何使用它:

var Person = require('./dist/commonjs/Person.js');

var homer = new Person('Homer', 'Simpson');
var name = homer.getFullName();

console.log(name); // Homer Simpson

以下是我的tsconfig.json(我使用的是TypeScript v2.0.3):

{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "dist/commonjs",
    "rootDir": "src/ts",
    "target": "es5"
  },
  "exclude": [
    "dist",
    "node_modules"
  ]
}

Typescript相关问答推荐

PrimeNG Inputnumber,具有自定义号码格式器

接口DOMRouter选项未输出

具有映射返回类型的通用设置实用程序

React-Native运行方法通过监听另一个状态来更新一个状态

TypeScript将键传递给新对象错误

防止获取发出不需要的请求

我们过go 不能从TypeScript中的联合中同时访问所有属性?

将props传递给子组件并有条件地呈现它''

Angular 行为:属性类型从SignalFunction更改为布尔

泛型类型,引用其具有不同类型的属性之一

更新为Angular 17后的可选链运算符&?&问题

不推荐使用Marker类-Google map API警告

已解决:如何使用值类型限制泛型键?

接口重载方法顺序重要吗?

函数重载中的不正确TS建议

如何将TS泛型用于react-hook-form接口?

try 呈现应用程序获取-错误:动作必须是普通对象.使用自定义中间件进行MySQL操作

17个Angular 的延迟观察.如何在模板中转义@符号?

如何从上传文件中删除预览文件图标?

如何在TypeScript中将元组与泛型一起使用?