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

使用TypeScript+Parcel运行Planck.js Testbed报错:planck.testbed is not a function

Planck.js Testbed 与 Parcel 搭配使用的解决方案

错误原因

默认安装的planck-js核心包不包含Testbed调试模块,planck.testbed并不是主库导出的方法,直接调用会触发planck.testbed is not a function错误。

解决步骤

1. 调整导入方式

修改TypeScript代码,单独导入Testbed模块:

import * as planck from "planck-js";
import testbed from "planck-js/dist/testbed";

testbed(function (t) {
    // 创建物理世界
    const world = planck.World();

    console.log(world.getGravity());

    // 必须返回物理世界供Testbed渲染
    return world;
});

2. 添加页面容器

创建或修改HTML入口文件(比如public/index.html),为Testbed提供挂载的DOM容器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Planck.js Testbed</title>
</head>
<body>
    <div id="testbed"></div>
</body>
</html>

3. 调整Parcel构建配置

修改package.json中的脚本,将HTML文件设为Parcel的入口(确保Testbed能正确挂载到DOM):

{
  "scripts": {
    "dev": "parcel public/index.html",
    "build": "parcel build public/index.html"
  }
}

4. 安装类型定义(可选)

如果需要TypeScript类型提示,安装Planck.js的类型包:

npm install --save-dev @types/planck-js

完成以上步骤后,重新运行npm run dev,Testbed即可正常启动并渲染物理世界。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:45:33