背景 当使用 TypeScript + TSlint + Babel + Jest 搭建开发环境时,在开发过程中偶尔会被 IDE 提示「无法重新声明块范围变量」,从而导致编译出错,报错图示如下: 相关开发环境配置如下: typescript: ^3.5.3 tslint: ^5.19.0 babel: ^7.0.0 jest: ^24.9.0 ts-jest: ^24.0.2 解决方案 之所以 tslint 会提示这个错误,是因为在 Commonjs 规范里,没有像 ESModule 能形成闭包…