vite中关于fetch和import()的疑问?

1、相对路径
代码如下:
image.png

只有动态import的路径是正常的,使用fetch会报404错误,找不到资源:
image.png

image.png

2、绝对路径
fetch:
可以请求到public下的json文件
image.png

image.png

import():
控制台会直接报错
image.png

image.png

vite文档中还有个啥new URL,有点搞不清他们的用法和区别了,求大佬们指点~

阅读 4.8k
2 个回答
  1. import 是导入,vite 会以模块管理的机制来处理,所以只要你路径不要写错,就能加载到
  2. fetch 是发起 ajax 请求,只会当普通代码,vite 不会处理目标 URL。如果你要确保能加载到,可以把目标放到 public/ 目录。
  3. 反过来也一样。
  4. new URL() 是创建 URL 对象,跟这两个没有任何关系。
  5. vite 里跟加载相关的还有 import.meta.glob,用于动态加载,你可以看看文档。

fetch作为请求资源的方法,是纯粹的运行时行为,它接受的路径根目录是你的打包后的文件夹目录,相对路径也是运行时的相对路径。
动态导入接受的根目录是项目的根目录,相对路径是开发过程中的相对路径。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题