在阅读官方文档时发现这样一个描述
在这里插入图片描述
于是出于好奇我尝试了一下,发现如下规律:
1.在vite搭建项目中import引入public下的图片、音频、视频都不会报错,并且在vue templete中直接通过给img标签的src赋值/aaa.png也是正常的。
2.在src下的任何文件中引入(包括js文件、jsx文件、.vue文件)中通过import引入public下的js、css、json文件都会报错。如下图:
在这里插入图片描述
引入json时,则会直接报错文件不存在。

原因:在知乎上找到了一个靠谱的回答:
在这里插入图片描述
我理解的就是,vite会将所有import导入的文件打包,但是public下的文件不应该被打包,而是直接被copy,因此二者就冲突了,vite就拒绝了使用import引入js、css、json等文件,但是注意,媒体类文件是可以通过import导入的,获取到的是一个地址。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐