Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript的Javascript导入-导出默认对象_Javascript_Typescript_Import_Export - Fatal编程技术网

Typescript的Javascript导入-导出默认对象

Typescript的Javascript导入-导出默认对象,javascript,typescript,import,export,Javascript,Typescript,Import,Export,这可能已经得到了某种程度的回答,但不知道该怎么问 我有一个输出单个类的Typescript文件: export class MyClass { ... } 我有一个Javascript文件,它导入该类型脚本的传输版本并使用它: define('random-source', ['src/my-class'], function(MyClassMod) { ... var myClass = new MyClassMod.MyClass(); ... }); 我

这可能已经得到了某种程度的回答,但不知道该怎么问

我有一个输出单个类的Typescript文件:

export class MyClass {
    ...
}
我有一个Javascript文件,它导入该类型脚本的传输版本并使用它:

define('random-source', ['src/my-class'], function(MyClassMod) {
    ...
    var myClass = new MyClassMod.MyClass();
    ...
});
我的问题是:有没有一种方法可以编写Typescript文件,这样导出的唯一对象就是“MyClass”定义?正如您从Javascript中的define中看到的,它是作为模块名导入的,但是我必须说“.MyClass”才能访问它。当我有很多Typescript文件和这样定义的单个类时,会使Javascript代码有点混乱。理想情况下,我想要的是:

define('random-source', ['src/my-class'], function(MyClass) {
    ...
    var myClass = new MyClass();
    ...
});

可能吗?提前谢谢

您似乎正在寻找默认导出:

export default class MyClass {
    ...
}

实际上,您正在寻找导出分配,它将使整个模块的值成为
MyClass

class MyClass {
    // ...
}
export = MyClass;

如果您使用的是typescript,为什么要用javascript编写代码?是否可以使用
import
?我正在开发一个遗留应用程序,其中我们正在编写的新内容是Typescript,并在现有Javascript文件上慢慢转换。但与此同时,我们现在需要能够将传输的Typescript文件拉入遗留Javascript文件中。那不行。在我的javascript文件中,我需要执行“new MyClassMod.default()”以使其执行。@Steve,这是因为您在目标脚本中使用AMD模块。您应该在您的目标中使用ES6模块导入以使其以这种方式工作,或者在您的TypeScript源中使用AMD模块。谢谢Matt!这就是我想要的。我是一个长期的C++家伙,对网络开发世界,我找不到这个看似简单的问题的答案…