如何在Javascript中使用已编译的TypeScript类

问题描述 投票:5回答:1

想象一下,我有这个简单的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

javascript node.js typescript tsc tsconfig
1个回答
3
投票

正如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");
© www.soinside.com 2019 - 2024. All rights reserved.