提问者:小点点

有没有一种方法可以将typescript编译到es6中,但强制它使用RequireJS?


我正在写一个NodeJS打字脚本项目。 假设我有以下文件:

class MyArray extends Array {
   myCustomMethod() { /* do something */ }
}

然而,当我这样做的时候

let myarray = new MyArray();

myarray.myCustomMethod();

我明白了

TypeError: myarray.myCustomMethod is not a function

因此,我尝试将typescript模块更改为es6(这样它将保留类扩展语法),但它使用importexport关键字,而NodeJS本机不支持该关键字。

有没有一种方法可以强制typescript编译器在使用requirejs的同时也使用ES6?

还是我的错,我错过了什么?


共1个答案

匿名用户

Typescript的--module选项(也是-m)允许您指定它应该为哪个模块系统输出。 “commonJS”是使用require的变体。 项目配置选项文档中的详细信息。

因此,例如,在tsconfig.json中,“module”:“commonJS”“target”:“ES2015”(或“ES2020”“ESNext”等)组合应使用requireclass语法输出代码。