vue3+vite+js 引用public文件夹中js文件
vue的public的资源在打包时不会被编译,只会copy
所以在在src路径下引入public文件夹下的图片、视频、音频,编译不会改变其路径,但是在src下引入public文件夹下的js、json,在打包时都会被编译,所以直接引入会丢失路径(因为打包时,当前页面引入的路径被hash打包,而public文件夹下只是被copy)故需要再src下引入public文件夹的资源需要根据情况进行处理
①在引入图片类资源 (img标签src属性赋值绝对路径/)
<div class="view"><img src="/moon.png" /></div>
②在引入js、json文件时,需要全局引入
1、/public/ep.js (j借助window对象存一个全局变量)
window.endpoints={ api:'http://localhost:8080/api/v1' }
2、页面入口index.html
在head中引入js文件
<head> .... <script type="module" src="/ep.js"></script> .... </head>
3、其他页面使用
<script setup> const api = window.endpoints.api </script>