gpt4 book ai didi

javascript - 无法在javascript中实例化 typescript 类

转载 作者:搜寻专家 更新时间:2023-10-30 21:42:21 24 4
gpt4 key购买 nike

我很抱歉提出该死的问题。

问题:

我在 typescript 中定义了类:

1    class MyClass {
2 constructor() {
3 alert("MyClass instantiated!");
4 }
5 }
6 export = MyClass;

编译成javascript如下:

1    var MyClass = (function () {
2 function MyClass() {
3 var _this = this;
4 alert("MyClass instantiated!");
5 }
6 }
7 module.exports = MyClass

它是从 jsp 页面引用的——它还执行以下操作:

<script language='javascript' src="myclass.js">
var myclass = new MyClass();
</script>

现在,我调试了它,它到达了行 1(已编译的 .js),然后在同一文件的行号 7 处退出。

问题:

为什么不进函数就退出了?我是否错误地实例化了它?

最佳答案

问题是您将 TypeScript 导出为 commonjs 格式(由第 7 行的 module.exports = MyClass 指示)。
你需要的是将TypeScript编译成浏览器可以接受的UMD格式。
或者简单地从 TypeScript 源中删除 export = MyClass;


工作 TS 代码:

class MyClass {
constructor() {
alert("MyClass instantiated!");
}
}

将编译为:

var MyClass = (function () {
function MyClass() {
var _this = this;
alert("MyClass instantiated!");
}
}

然后在页面上使用:

<script type="text/javascript" src="myclass.js"></script>
<script>
var myclass = new MyClass();
</script>

关于javascript - 无法在javascript中实例化 typescript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36502463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com