从React+Bootstrap模板复制测试页面出现语法错误如何解决?
问题原因及解决方案
你遇到的报错本质是TypeScript语法在普通JavaScript文件中无法被编译器识别导致的:
- 报错指向的
type DatepickerInputProps = {是TypeScript专属的类型定义语法,仅支持在后缀为.ts/.tsx的文件中运行。你当前引用的文件后缀是.js,属于普通JS文件,JS编译器不识别TS语法规则,才会抛出“缺少分号”的错误提示。 - 相同代码在原页面可以正常运行,是因为原页面对应的文件本身就是TypeScript格式,项目的TS编译配置会正常处理这部分类型定义代码,不会判定为语法错误。
可选解决方法
- 方法一:保留类型定义。直接将
Datepicker.js的文件后缀修改为.tsx(React组件类的TS文件统一使用tsx后缀即可),同时确认你的新页面文件兼容TS语法规则即可正常运行。 - 方法二:移除TS语法。如果你暂时不需要使用类型定义,直接删除代码里的
type相关类型定义段,去掉所有变量、函数的TS类型标注,仅保留原生JS逻辑代码即可正常运行。
内容的提问来源于stack exchange,提问作者Derek-Devs
相关产品推荐
相关产品推荐

