typescript - TypeScript 和模块选项设置为 es2015/es2020/esnext
问题描述
这是我的 tsconfig.json 文件:
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
}
}
和我的文件test.ts
:
module.exports.a = 4;
然后我yarn tsc
在我的输出文件中运行并且令人惊讶的是test.js
我仍然有
module.exports.a = 4;
问题:为什么输出文件的内容没有使用 esnext 模块?为什么不是export const a = 4
?
顺便说一句,如果我采用其他方式 -module
设置为commonjs
并test.ts
使用export const a = 4
cjs 模块正确生成输出文件。
为什么 ts 可以将模块从 es 编译到 cjs 而不能从 cjs 编译到 es ?如果确实 TS 做不到,那为什么我们还有模块选项呢?
解决方案
推荐阅读
- networking - 当我们超出网络容量时会发生网络拥塞吗?
- python - 生成“n”个函数并添加它们的函数
- c# - 如何让这个生成器创建完全随机的面孔?
- c - 如何向这个程序添加一个 While 循环,我希望它能够重复?
- c# - 是否可以为 Windows 服务启动失败提供自定义错误消息?
- sql - SQL 选择不同的“从”和“到”城市
- python - 使用配置包的 Scapy Dissector
- javascript - 如何在 JS 或 jQuery 中获取附加元素的值?
- python - Python3中过滤后的wav文件的RMS值
- azure-ad-b2c - 缓解来自外部 IdP 的声明可以是 string 或 stringCollection 的场景