如何在Javascript中使用已编译的TypeScript类
想象一下,我有这个简单的TypeScript类,Animal.ts
:
export default class Animal {
constructor(public name : string) { }
}
有了这个tsconfig.json
文件:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true
},
"files": [
"Animal"
]
}
如何在javascript文件中使用此类的编译版本(通过运行tsc
编译),如下所示:
var Animal = require("./Animal");
var newAnimal = new Animal();
我应该在tsconfig.json
文件中编辑某些内容吗?我得到的错误是:
回答如下:ReferenceError:未定义Animal
正如Shane van den Bogaard指出的那样,default
中的Animal.ts
关键字需要省略,并且:
const { Animal } = require('./Animal');
应该用来代替
var Animal = require('./Animal');
这样我们就可以调用Animal
类并使用它来初始化一个对象
const { Animal } = require('./Animal');
var newAnimal = new Animal("Clifford");