我有下面的问题,并确切地知道为什么它被触发,但我还没有找到任何解决方案,所以可能社区可能会帮助我。
我使用tsdx启动ts repos,并使用ts-node快速调试(而不是每次构建代码)。
递归引理:
因此,每次我想通过yarn add modulename将模块添加到包中时,如果tsconfig.json文件中有compilerOptions选项:"module": "commonjs"具有以下值,tsdx build无法构建代码,并返回以下错误:
错误:不兼容的tsconfig选项。模块解析为“CommonJS”。这与汇总不兼容,请使用“ES2015”或“ESNext”

但是!
如果我将compilerOptions从commonjs更新为module: "ESNext",ts-node会给我一个错误,因为它仍然无法使用import {Method} from Module而不是const x = require(CommonJS) (根据本期和这个问题,这是一个很老的bug )。

"compilerOptions": {
"module": "commonjs", || "ESNext"
"lib": ["dom", "esnext"],
...//other options根据这一点,我使用的是ts节点回购中的WebStorm和README.md,据我所知,我可以用自定义的tsconfig更新Environment Variables。因此,在这种情况下,我需要两个tsconfig文件在回购,为ts-节点和生产。所以问题是:也许还有另一个TS_NODE_FLAG,特别是module编译器选项?所以我可以运行带有标志的ts节点,这会覆盖这个小参数吗?
发布于 2021-02-12 20:45:17
当前的折衷方案是有两个配置文件,它们完全相同:
tsconfig.jsontsconfig.dev.json除了第二个有"module":"commonjs"

第二个选项(实际上不适合我)是从这个问题添加到WebStrom的环境变量TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}'中。
发布于 2022-07-23 09:05:54
另一种选择:
import typescript from 'rollup-plugin-typescript2';
export default {
...
plugins: [
typescript({
// 覆盖 tsconfig.json 的配置项
tsconfigOverride: {
compilerOptions: {
module: "ESNext"
},
include: ['src/**/*'],
},
})
]
};https://stackoverflow.com/questions/66178693
复制相似问题