You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codepen运行含内联SVG的React代码报Unexpected token '<'错误

问题描述

在Codepen平台运行React代码时控制台抛出Uncaught SyntaxError: Unexpected token '<'报错,相同代码在VSCode本地环境可正常运行。代码实现了包含内联SVG的React组件,点击按钮可通过GSAP动效库控制SVG旋转。

复现代码

let App = () => {
      const handleClick = () => {
        let timeline = gsap.timeline();
          timeline.to(".flower_svg", {
            rotate: 45,
          });
      };

  return (
    <React.Fragment>
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" className="flower_svg">
        <g transform="translate(55.5 193.5)">
          <path fill="#A65EC1" d="M-25.5-148.5v-15h-15c-8.3,0-15,6.7-15,15l0,0v15h15C-32.2-133.5-25.5-140.2-25.5-148.5L-25.5-148.5z"/>
          <path fill="#E3A6F1" d="M-10.5-163.5h-15v15c0,8.3,6.7,15,15,15h15v-15C4.5-156.8-2.2-163.5-10.5-163.5L-10.5-163.5z"/>
          <path fill="#A65EC1" d="M-10.5-193.5h15v15c0,8.3-6.7,15-15,15l0,0h-15v-15C-25.5-186.8-18.8-193.5-10.5-193.5L-10.5-193.5z"/>
          <path fill="#B7C6FD" d="M-40.5-193.5h-15v15c0,8.3,6.7,15,15,15l0,0h15v-15C-25.5-186.8-32.2-193.5-40.5-193.5L-40.5-193.5z"/>
        </g>
      </svg>

      <button onClick={() => handleClick()}>Rotate</button>
    </React.Fragment>
  );
};

ReactDOM.render(<App />, document.querySelector("#app"));

报错截图

Codepen控制台报错截图

报错原因

浏览器原生不支持JSX语法解析。本地VSCode环境运行时,项目配置的Babel等构建工具会预先将JSX转译为浏览器可识别的原生JavaScript代码;Codepen默认不对输入的JS代码做预转译处理,直接将源码交付浏览器解析,当浏览器解析到JSX语法开头的<标记时,无法匹配原生JS的语法规则,直接抛出语法错误。

解决方法
  • 打开Codepen JS编辑面板右上角的设置菜单,在JavaScript预处理器选项中选择Babel,开启JSX自动转译能力
  • 检查外部依赖配置,确认已正确引入React、ReactDOM、GSAP三个库,避免出现全局对象未定义的报错
  • 保存配置后重新运行代码,即可正常渲染组件,点击按钮触发SVG旋转动效

内容的提问来源于stack exchange,提问作者Ilir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:24:27