本地配置Autodesk Forge Viewer Draw Tool Extension失效问题咨询
检查文件路径正确性
打开浏览器控制台(F12)切换到Network标签,查看main.js和main.css的请求状态。如果显示404,说明文件路径写错了——比如你的HTML在根目录,扩展文件放在extensions/DrawTool子文件夹里,路径就该写成extensions/DrawTool/main.js,而不是直接main.js。确认脚本加载顺序
Forge Viewer核心脚本必须在Draw Tool Extension脚本之前加载,顺序错了会导致扩展找不到Viewer的API。正确的加载顺序应该是:<!-- 先加载Viewer核心资源 --> <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.js"></script> <link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css"> <!-- 再加载本地扩展文件 --> <script type="text/javascript" src="main.js"></script> <link rel="stylesheet" href="main.css">检查扩展注册代码
打开本地的main.js,确认末尾有扩展注册代码:Autodesk.Viewing.theExtensionManager.registerExtension('DrawToolExtension', DrawToolExtension);如果没有这段代码,Viewer无法识别并加载这个扩展,手动补上即可。
避免本地文件协议限制
直接用file://打开本地HTML文件会触发浏览器安全限制,导致脚本或资源加载异常。建议用本地服务器(比如VS Code的Live Server插件、Node.js的http-server)以http://localhost:端口号的方式访问页面。确认依赖文件完整
Draw Tool Extension可能依赖其他资源(比如图标文件、子模块JS),只复制main.js和main.css会导致功能缺失。把原扩展仓库中DrawToolExtension/contents目录下的所有文件都复制到本地,包括icons文件夹等。查看控制台错误信息
打开浏览器Console标签,里面的错误提示能直接定位问题——比如DrawToolExtension is not defined说明扩展类未正确加载,某个资源加载失败提示则指向缺失的文件。
内容的提问来源于stack exchange,提问作者606

