使用XState后端配置类型注解遇ESLint禁止import()类型错误
解决XState类型注解触发ESLint @typescript-eslint/consistent-type-imports错误
问题根源是你使用了import()类型断言语法,而@typescript-eslint/consistent-type-imports规则禁止这种写法,要求使用明确的类型导入方式。你尝试的动态导入是运行时操作,和类型层面的需求不匹配,因此无法解决问题。
正确的解决步骤:
- 用
import type单独导入所需类型:
import type { Typegen0 } from "./testMachine.server.typegen";
- 在状态机配置中直接使用该类型进行断言:
export const machine = createMachine( { tsTypes: {} as Typegen0, // ...其他状态机配置 } );
这种写法既符合ESLint规则要求,又能正确为XState状态机添加类型注解。import type会告知TypeScript这只是类型导入,不会被编译到运行时代码中,也契合该ESLint规则的设计初衷——区分类型与值的导入,优化代码编译和Tree Shaking效果。
内容的提问来源于stack exchange,提问作者T. Duke
相关产品推荐
相关产品推荐

