Angular6中使用SystemJS加载ng2-tree出现404错误求助
解决Angular6中ng2-tree加载时uuid/v4 404的问题
咱们先定位核心问题:你看到的GET http://127.0.0.1:8080/uuid/v4 404错误,是因为ng2-tree依赖uuid包,但你的SystemJS配置没有正确映射这个依赖,导致它错误地从根路径加载uuid/v4,而非从npm安装的包目录中查找。
下面是具体的解决步骤:
1. 确认uuid包已安装(未安装则执行)
ng2-tree对uuid的版本有兼容性要求(新版本导出方式不同,容易引发问题),建议安装3.x版本:
npm install uuid@3 --save
2. 修改systemjs.config.js配置
更新你的SystemJS映射和包配置,添加uuid的对应规则:
map: { "ng2-tree": 'npm:ng2-tree', "uuid": 'npm:uuid' // 新增uuid的路径映射 }, packages: { 'ng2-tree': {main: 'index.js', defaultExtension: 'js'}, 'uuid': {main: 'v4.js', defaultExtension: 'js'} // 新增uuid的主文件配置 }
3. 验证修改
保存配置后重启开发服务器,重新加载页面,这个404错误应该就能消失了。
补充说明
如果后续仍有问题,可以检查ng2-tree版本是否与Angular6兼容——建议使用ng2-tree的最新稳定版本,或者查看其npm页面的peerDependencies确认版本匹配。另外,Angular6官方更推荐使用Angular CLI而非SystemJS,若后续有重构计划,迁移到CLI项目能减少这类依赖配置问题。
内容的提问来源于stack exchange,提问作者Akshata Shetty
相关产品推荐
相关产品推荐

