Javascript 当我简单地添加“时,为什么我的代码不起作用?”;“出口”;在我班的前面?
打字脚本代码:Javascript 当我简单地添加“时,为什么我的代码不起作用?”;“出口”;在我班的前面?,javascript,typescript,Javascript,Typescript,打字脚本代码: export class GridObject { constructor() { alert("hello from GridObject constructor!"); } } var go = new GridObject(); 我正在从我的HTML调用已编译的js。当我删除“导出”时,警报会显示,当我删除“导出”时,警报不会显示 下面是使用导出时编译的整个js "use strict"; exports.__esModule = true; var G
export class GridObject {
constructor() {
alert("hello from GridObject constructor!");
}
}
var go = new GridObject();
我正在从我的HTML调用已编译的js。当我删除“导出”时,警报会显示,当我删除“导出”时,警报不会显示
下面是使用导出时编译的整个js
"use strict";
exports.__esModule = true;
var GridObject = /** @class */ (function () {
function GridObject() {
alert("hello from GridObject constructor!");
}
return GridObject;
}());
exports.GridObject = GridObject;
var go = new GridObject();
从TS中删除导出将从JS中删除以下3行
"use strict";
exports.__esModule = true;
exports.GridObject = GridObject;
My HTML调用此脚本的方式如下:
<script src="GridObject.js"></script>
我尝试添加type=“module”,但也没有成功。这是因为
export
用于JS模块。它应该以不同的方式加载,编译后的JS实际上没有“export”关键字。浏览器控制台中的错误消息是什么?这是否类似于“VM56:1 Uncaught ReferenceError:导出未定义”@AnthonyYershov,这就是原因-编译后的代码引发异常,从而阻止执行带有new GridObject()
的行。抛出异常是因为当使用strict时浏览器会这样做代码>已声明,并且存在对未声明全局对象的引用<代码>导出
未声明,因为它是节点.js
特定的全局文件,在浏览器中不存在。编译后的代码引用的是node.js
-特定的导出
全局可能是因为编译目标是CommonJS
。将代码拆分为模块,然后在浏览器中使用它的典型方法是使用某种模块绑定器,如webpack。这是因为export
是针对js模块的。它应该以不同的方式加载,编译后的JS实际上没有“export”关键字。浏览器控制台中的错误消息是什么?这是否类似于“VM56:1 Uncaught ReferenceError:导出未定义”@AnthonyYershov,这就是原因-编译后的代码引发异常,从而阻止执行带有new GridObject()
的行。抛出异常是因为当使用strict时浏览器会这样做代码>已声明,并且存在对未声明全局对象的引用<代码>导出
未声明,因为它是节点.js
特定的全局文件,在浏览器中不存在。编译后的代码引用的是node.js
-特定的导出
全局可能是因为编译目标是CommonJS
。将代码拆分为模块,然后在浏览器中使用它的典型方法是使用某种模块绑定器,如webpack。