用TypeScript编写一个PacMan游戏,我的app.ts
文件在PacMan类的导入中如下所示:
import { PacMan } from "./pacman"
使用TypeScript 4.9.4,出于我不知道的原因,我需要配置NodeJS 18.12.1,这在WebStorm 2022.3中被编译为一行
var pacman_1 = require("./pacman");
对于这一行,我的浏览器(Firefox 108.0)抛出一个异常
参考错误:未定义require
Ireadsomestuff但老实说,我几乎什么都不懂。
我尝试了修改tsconfig.json
的建议,所以我设置了"target": "es5",
和"esModuleInterop": true,
,但这并没有使浏览器有任何改进。
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"inlineSources": true,
"esModuleInterop": true,
},
"compileOnSave": true,
"exclude": [
"node_modules"
]
}
我认为问题在于module的选择。我不知道CommonJS或RequireJS或AMD是什么,也不知道如何正确配置。我不知道ES5和ES6之间的区别,所以这对我来说是猜测,或"试错"。
我以为TypeScript会编译成JavaScript。我可以将"module"配置为VanillaJS吗?或者我真的必须使用像RequireJS这样的依赖项吗?如果是这样,为什么TypeScript编译器不将该依赖项编译成结果JavaScript?
1条答案
按热度按时间4xrmg8kj1#
我不敢相信它这么简单和not documented in
module
。感谢@jabaa,我只是在我的tsconfig.json
中使用"module": "es6"
,并修复了它。