解决typescript Cannot redeclare block-scoped variable
没有依赖框架来写typescript,纯粹新建一个ts文件,使用tsc编译成js后,ts文件里的声明的变量、函数名都会报错:
Duplicate identifier | Duplicate function // 这是具名函数和class的报错或者
Cannot redeclare block-scoped variable // 这是声明的变量报错其实我们写的ts代码是没有问题的,只是ts会对我们声明的变量、具名函数、class都放在了全局作用域,在生成js文件后,js文件里的变量、函数、class会跟ts文件的重复。
解决办法
在ts文件顶端加上:
export {}再次编译ts文件,可以看到编译后的js文件加上了:
"use strict";
exports.__esModule = true;它会把整个文件当成一个模块来处理。这样就不会报错了。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!