Autodesk Forge参考应用加载自有CSV数据时/upload页面空白问题
Autodesk Forge参考应用/upload页面空白问题修复
核心问题点
你的配置存在3个直接导致页面空白的错误:
.env文件属于纯键值对配置文件,不支持写入JS代码,你贴在配置末尾的dotenv加载JS逻辑会被当成无效配置解析,导致整个环境变量加载流程异常。- dotenv不会自动剥离环境变量值外层包裹的双引号,你当前配置的
CSV_DELIMITER="\t"、CSV_LINE_BREAK="\n"、CSV_TIMESTAMP_COLUMN="time"读取到的实际值会包含双引号字符,比如分隔符会被识别为"\t"字符串而非制表符,直接造成CSV适配器初始化失败,上传页依赖的后端接口未正常注册。 - 配置的CSV模型、设备JSON路径为相对路径,若服务启动时的工作目录不匹配,会触发文件找不到的初始化报错,中断服务路由加载。
修复步骤
- 清理
.env文件,移除所有JS代码,删除所有配置值外层多余的双引号,修正后的合法配置参考如下:
FORGE_CLIENT_ID=替换为你的实际Forge Client ID FORGE_CLIENT_SECRET=替换为你的实际Forge Client Secret FORGE_ENV=AutodeskProduction FORGE_API_URL=https://developer.api.autodesk.com FORGE_CALLBACK_URL=http://localhost:9000/oauth/callback FORGE_BUCKET=cosmostool1.cosmosengineering.es ENV=local ADAPTER_TYPE=csv CSV_MODEL_JSON=server/gateways/synthetic-data/device-models.json CSV_DEVICE_JSON=server/gateways/synthetic-data/devices.json CSV_DATA_END=2011-02-20T13:51:10.511Z CSV_DELIMITER=\t CSV_LINE_BREAK=\n CSV_TIMESTAMP_COLUMN=time
- 将dotenv加载逻辑移动到服务端JS入口文件(通常是
server.js/app.js/index.js)的最顶部,保证环境变量在所有业务模块加载前完成初始化,注意核对路径是否能正确定位到根目录的.env文件:
if (process.env.ENV == "local") { require("dotenv").config({ path: __dirname + "/../.env", }); }
- 重启服务后先查看终端控制台输出,如果存在找不到
device-models.json/devices.json的报错,调整CSV_MODEL_JSON、CSV_DEVICE_JSON的相对路径层级,或直接替换为文件绝对路径,直到控制台无文件加载类报错。 - 清除浏览器缓存,或使用浏览器无痕模式重新访问
http://localhost:9000/upload地址,避免旧的静态资源缓存导致页面渲染异常。
配置校验提示:后续上传自有CSV文件时,需保证
CSV_DELIMITER和你实际文件的分隔符完全一致,CSV_TIMESTAMP_COLUMN的值要和CSV里时间列的表头大小写完全匹配,否则会出现数据解析失败的问题。
内容的提问来源于stack exchange,提问作者Wes Hinchman
相关产品推荐
相关产品推荐

