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

SolidJS报错:_tmpl$不是函数,仅空标签可正常运行

解决SolidJS中_tmpl$X is not a function错误

针对你遇到的问题,结合使用的版本,核心原因是TypeScript版本过低导致的编译不兼容,以下是具体解决步骤:

  • 升级TypeScript版本
    你当前使用的tsc 3.8.3版本过于老旧,SolidJS 1.6.9要求TypeScript最低版本至少为4.5.x,老版本无法正确处理SolidJS的JSX编译逻辑,进而引发模板函数异常。
    执行命令升级:

    npm install typescript@4.9.x --save-dev
    

    (也可直接安装最新稳定版:npm install typescript@latest --save-dev)

  • 配置Parcel的SolidJS转换插件
    确保Parcel 2.x正确识别并编译SolidJS的JSX:

    1. 安装SolidJS转换插件:
      npm install @parcel/transformer-solid --save-dev
      
    2. 在项目根目录创建或修改.parcelrc文件,添加SolidJS转换规则:
      {
        "extends": "@parcel/config-default",
        "transformers": {
          "*.{tsx,jsx}": ["@parcel/transformer-solid", "..."]
        }
      }
      
  • 修正TypeScript的JSX配置
    检查tsconfig.json,确保JSX相关配置符合SolidJS要求:

    {
      "compilerOptions": {
        "jsx": "preserve",
        "jsxImportSource": "solid-js",
        // 移除旧的jsxFactory、jsxFragmentFactory配置(如果存在)
      }
    }
    
  • 清理缓存并重新构建
    Parcel的缓存可能残留错误编译产物,执行清理后重新构建:

    • Linux/macOS:
      rm -rf .parcel-cache dist
      
    • Windows:
      rd /s /q .parcel-cache dist
      

    之后重新运行开发命令:npm run dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:17:37