按Forge教程创建自定义Data Adapter导入时Chrome控制台报错咨询
报错核心原因
- 直接修改
node_modules目录下的依赖文件属于不规范操作:包管理器在依赖安装、版本更新、缓存还原时会覆盖该目录下的所有内容,且依赖内部的模块映射关系不会因为手动修改单文件就自动更新,直接导致模块解析失败。 - 自定义适配器的导出逻辑不完整:仅修改类名替换
RestApiDataAdapter为BimapiDataAdapter,没有同步配置对应模块导出规则,也没有在依赖包的入口文件注册新适配器,外部文件导入时无法匹配到对应的导出值。 - 导入路径配置错误:在
BaseApp.jsx中导入自定义适配器时,路径指向依赖包的未公开内部模块,模块解析规则默认只会识别包入口文件声明的导出内容,无法直接读取手动新建在包目录下的零散文件。
对应修复步骤
- 第一步:还原所有对
node_modules目录的修改,删除手动在依赖包路径下新建的适配器文件,避免依赖运行异常。 - 第二步:在项目自身的
src源码目录下新建独立的adapters存放目录,将参考的Hyperion适配器源码复制到该目录下,重命名为BimapiDataAdapter.js,后续所有自定义适配器的代码都放在项目源码目录维护,不要改动依赖包内容。 - 第三步:编辑
BimapiDataAdapter.js文件:统一将文件内的类名修改为BimapiDataAdapter,修正文件内所有内部引用的相对路径,将原文件中指向同包其他内部文件的引用改为从依赖包公开入口导入,最后在文件末尾添加正确的导出语句export default BimapiDataAdapter;。 - 第四步:修改
BaseApp.jsx中的导入逻辑,将导入路径指向你在src目录下新建的适配器文件,不要从node_modules的内部路径导入。 - 第五步:在DataViz组件初始化配置中,将默认使用的数据适配器替换为你自定义的
BimapiDataAdapter,重启本地开发服务即可正常加载。
额外提示:将自定义代码放在项目源码目录维护,后续重装依赖、升级依赖版本都不会覆盖你的自定义逻辑,稳定性远高于直接修改node_modules的方案。
内容的提问来源于stack exchange,提问作者Joni Turunen
相关产品推荐
相关产品推荐

