Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Javascript 当我简单地添加“时,为什么我的代码不起作用?”;“出口”;在我班的前面?_Javascript_Typescript - Fatal编程技术网

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。