打字稿正在编译导入以使用要求,但浏览器抱怨

时间:2020-04-30 01:19:10

标签: javascript typescript require

我已设置:

<script src="./Snake.js" type="text/javascript"></script>

在我的HTML文件上。

并且我有Snake.ts正在使用以下配置编译为JS:

{target: "es6", module: "commonjs"} 

但是Typescript正在将我的import语句转换为使用require函数(仅适用于NodeJS),因此浏览器抱怨

Uncaught ReferenceError: require is not defined.

我在代码的任何地方都没有使用require,但是Typescript会自动将导入语句转换为使用require函数,而不是

import Game from './Game';

我已经尝试了所有方法,包括切换到es2020和umd。昨天在工作。

如何将Typescript代码编译为浏览器JavaScript代码和节点NodeJS代码。

1 个答案:

答案 0 :(得分:1)

在您的配置中,您将模块系统设置为commonJS,该系统使用require导入模块。

在打字稿配置中将module系统设置为ES2015/ES6

 {target: "ES6", module: "ES2015"}