module.exports in typescript [英] module.exports in typescript

查看:756
本文介绍了module.exports in typescript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人知道怎么做module.exports吗?



我尝试了一些不同的方式结束



< pre class =lang-default prettyprint-override> export class Greeter {}

将编译为

  exports.Greeter = Greeter; 

但我真正想要的是:

  exports = Greeter; 

这样我可以像这样使用它:

  import Greeter = module(Greeter); 
var greeter = new Greeter();

而不是

  import Greeter = module(Greeter); 
var greeter = new Greeter.Greeter();

这是否可以使用Typescript?

解决方案

您可以在TypeScript中导出单个类,如下所示:

  class Person {

private firstName:string;
private lastName:string;

构造函数(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); //荷马辛普森

要完成,这是我的 tsconfig.json (我使用的是TypeScript v2.0.3):

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


does somebody know how to do a module.exports?

I tried some different ways ending up with

export class Greeter {}

which will compile to

exports.Greeter = Greeter;

But what I really want is this:

exports = Greeter;

So that I can use it like this:

import Greeter = module("Greeter");
var greeter = new Greeter();

and not

import Greeter = module("Greeter");
var greeter = new Greeter.Greeter();

Is this possible with Typescript?

解决方案

You can export a single class in TypeScript like this:

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;

And here is how it's going to be used:

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

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

console.log(name); // Homer Simpson

To be complete, here is my tsconfig.json (I am using TypeScript v2.0.3):

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

这篇关于module.exports in typescript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆