我们在 tsconfig 和 tsconfigOverride 中使用 "module": "commonjs" 设置为 module: "es2015",这会导致错误:
错误:不兼容的 tsconfig 选项。 模块解析为“CommonJS”。 这与汇总不兼容,请使用“模块:“ES2015”或“模块:“ESNext””。
我认为最好在合并所有配置后移动检查 tsconfig 逻辑。
在所有覆盖之后检查已经...
您能否将汇总配置和插件输出的第一部分发布到详细程度 3(在其中打印设置并解析 tsconfig)
汇总配置:
export async function buildCore() {
const bundler = await rollup({
context: 'null',
input: {
index: 'src/index.ts'
},
plugins: [
typescript({
verbosity: 3,
clean: true,
check: true,
tsconfigOverride: {
module: "es2015"
},
tsconfig: './src/tsconfig.json',
typescript: require('typescript'),
useTsconfigDeclarationDir: true
}),
]
});
await bundler.write({
format: 'umd',
dir: 'dist',
name: 'kook',
extend: false,
sourcemap: true,
esModule: false,
banner: '/* Test banner */'
});
}
日志:
[22:06:48] 需要外部模块 ts-node/register
[22:06:51] 使用 gulpfile ~Desktop\kookjs\core\gulpfile.ts
[22:06:51] 开始“默认”……
[22:06:51] 开始“buildCore”……
[22:06:51] 123 毫秒后“buildCore”出错
[22:06:51] 错误:不兼容的 tsconfig 选项。 模块解析为“CommonJS”。 这与汇总不兼容,请使用“模块:“ES2015”或“模块:“ESNext””。
在 checkTsConfig (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollup-plugin-typescript2src\check-tsconfig.ts:9:9)
在 parseTsConfig (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollup-plugin-typescript2src\parse-tsconfig.ts:50:2)
在 Object.options (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollup-plugin-typescript2srcindex.ts:80:64)
在 applyOptionHook (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollupdistrollup.js:17147:31)
在 Array.reduce ()
在 getInputOptions$1 (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollupdistrollup.js:17165:41)
在 Object.rollup (C:\Users\AlirezaDesktop\kookjs\core\node_modulesrollupdistrollup.js:17209:30)
在 C:\Users\AlirezaDesktop\kookjs\core\gulpfile.ts:17:27
在步骤 (C:\Users\AlirezaDesktop\kookjs\core\node_modules\tslib\tslib.js:136:27)
在 Object.next (C:\Users\AlirezaDesktop\kookjs\core\node_modules\tslib\tslib.js:117:57)
[22:06:51] 'default' 错误后
啊,是的,你需要从上一层开始: tsconfigOverride: { compilerOptions : { module: "es2015" } }
Ah, yeah, you need to start one level above:
tsconfigOverride: { compilerOptions : { module: "es2015" } }
这很棒,他解决了我的问题,Thanks
最有用的评论
啊,是的,你需要从上一层开始:
tsconfigOverride: { compilerOptions : { module: "es2015" } }