路径报错问题

项目场景:

project-root/
│
├── src/
└── aa.js
│   └── geo/
│     └── aa.geojson
假设这是我的项目结构,我现在需要在aa.js文件中引入并使用aa.geojson文件,
问题:

当我引入路径是const filePath = '../geo/aa.geojson';的时候,系统报错 "aa.geojson is not Found",找不到这个文件

但是如果引入路径是const filePath = '../../src/geo/aa.geojson';的时候,则正确,下面分析一下原因


原因分析:

'../geo/aa.geojson' 报错原因:
这个路径意味着你希望从 aa.js 所在的目录(src/)向上移动一级,然后寻找 geo 目录。但是,当你向上移动一级时,你会到达 project-root/,在 project-root/ 中并不存在一个直接名为 geo 的目录,而是有一个 src/ 目录,而 geo 目录是在 src/ 目录内部的。因此,这个路径是错误的,系统找不到 geo 目录,所以会报错。

'../../src/geo/aa.geojson' 可以找到的原因:
这个路径意味着你希望从 aa.js 所在的目录(src/)向上移动两级,然后进入 src 目录,再进入 geo 目录。当你从 src/ 向上移动两级时,你实际上已经超出了项目根目录,这在文件系统上通常不会导致错误,但是它不是你想要的结果。然而,由于文件系统允许向上超出项目根目录,这个路径实际上会回绕到 src/ 目录,然后找到 geo 目录和 aa.geojson 文件。

总结一下

错误路径 '../geo/aa.geojson'

  • 从 aa.js(位于 src/)向上移动一级会到达 project-root/。
  • 在 project-root/ 中没有直接的 geo 目录,因此路径找不到。

正确路径 '../../src/geo/aa.geojson'

  • 从 aa.js(位于 src/)向上移动两级实际上超出了项目根目录。

  • 由于文件系统的回绕行为,这会导致它回到 src/ 目录,并正确找到 geo/aa.geojson。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值