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

关于Autodesk Tandem React Viewer示例代码运行报错的求助

解决方案:Autodesk Tandem React Viewer 空白页及DtApp/DtFacility找不到问题

问题根源

Autodesk.Viewing.Private是Autodesk Viewer的内部私有命名空间,API无稳定性承诺,版本迭代后常被移除、重命名或迁移至公开命名空间。你遇到的报错是因为示例仓库的代码引用了已废弃的私有API,且依赖版本可能与当前Viewer CDN版本不匹配。

修复步骤

1. 对齐依赖与Viewer CDN版本

确保项目中@autodesk/tandem-viewer的版本与页面加载的Autodesk Viewer CDN版本完全一致:

  • 打开package.json,查看@autodesk/tandem-viewer的版本号(如^7.197.0)
  • 检查public/index.html中Viewer CDN脚本的版本,确保两者一致:
    <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.197.0/viewer3D.min.js"></script>
    
  • 若版本不一致,执行npm install @autodesk/tandem-viewer@对应版本更新依赖

2. 替换私有API为公开引用

将App.tsx中对私有命名空间的引用替换为公开API或官方包导出:

  • 原错误代码:
    const app = new Autodesk.Viewing.Private.DtApp(options);
    const facility = Autodesk.Viewing.Private.DtFacility;
    
  • 修改为从tandem-viewer包直接导入:
    import { DtApp, DtFacility } from '@autodesk/tandem-viewer';
    
    // 初始化示例
    const app = new DtApp({
      container: document.getElementById('viewer-container'),
      // 其他配置项
    });
    

3. 确保Viewer初始化顺序正确

在Viewer脚本加载完成后再初始化DtApp,避免因API未就绪导致的报错:

Autodesk.Viewing.Initializer(options, () => {
  // 这里初始化DtApp
  const app = new DtApp(/* 配置 */);
});

4. 清理缓存并重启服务

  • 执行rm -rf node_modules package-lock.json(Windows系统用rmdir /s node_modules && del package-lock.json)
  • 重新安装依赖:npm install
  • 重启开发服务器:npm start

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:22:33