Typescript 类型脚本和模块选项设置为es2015/es2020/esnext
这是我的tsconfig.json文件:Typescript 类型脚本和模块选项设置为es2015/es2020/esnext,typescript,commonjs,es6-modules,Typescript,Commonjs,Es6 Modules,这是我的tsconfig.json文件: { "compilerOptions": { "target": "es5", "module": "esnext", } } 和我的文件test.ts: module.exports.a = 4; 然后我运行warn tsc,令人惊讶的是,在我的输出文件test.js中,我仍然有 module.exports.a = 4; 问题:为什么输出文件的内容不使用esnext模块?为什么不导出常量a=4 顺
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
}
}
和我的文件test.ts
:
module.exports.a = 4;
然后我运行warn tsc
,令人惊讶的是,在我的输出文件test.js
中,我仍然有
module.exports.a = 4;
问题:为什么输出文件的内容不使用esnext模块?为什么不导出常量a=4
顺便说一句,如果我换一种方式-module
设置为commonjs
和test.ts
,使用export const a=4
可以正确生成带有cjs模块的输出文件
为什么ts可以将模块从es编译到cjs,而不是从cjs编译到es?如果TS确实不能做到这一点,那么为什么我们还有模块选项