module.exports in typescript [英] module.exports in typescript
本文介绍了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屋!
查看全文