【问题标题】:Typescript is compiling import to use require but browser complainsTypescript 正在编译导入以使用 require 但浏览器抱怨
【发布时间】:2020-08-14 06:46:28
【问题描述】:

我已经设置了:

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

在我的 HTML 文件上。

我有Snake.ts,我正在使用以下配置编译成 JS:

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

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

Uncaught ReferenceError: require is not defined.

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

import Game from './Game';

我什么都试过了,包括切换到and, umd, es2020。昨天还在工作。

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

【问题讨论】:

    标签: javascript typescript require


    【解决方案1】:

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

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

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

    【讨论】:

    • 在文件中更改它没有用,但如果我使用 tsc --module es2015 更改它,它可以工作!谢谢!!为什么是 es2015 而不是 es2019 或 es2020?
    • 你可以使用更高的版本,ES6 module的最低版本要求是ES2015
    猜你喜欢
    • 1970-01-01
    • 2020-10-23
    • 2020-10-06
    • 2018-08-13
    • 2015-12-07
    • 2017-01-17
    • 2011-01-08
    • 1970-01-01
    • 2020-04-18
    相关资源
    最近更新 更多