在这里举一个例子,因为vue3无法使用require,无法调用本地静态资源
所以定义一个全局方法调用本地资源
首先在vue文件中定义一个方法,如下:
<script setup lang="ts">
import { ref, reactive, toRefs } from 'vue'
(window as any)['get_img_url'] = (name: any) => {
return new URL(`/src/assets/img/${name}`, import.meta.url).href;
}
const data = reactive({
img_url: [
{ url: get_img_url("login1.jfif") },
{ url: get_img_url("login2.jfif") },
{ url: get_img_url("login3.jfif") },
{ url: get_img_url("login4.jfif") },
],
});
const { img_url } = toRefs(data)
</script>
然后在vite-env.d.ts 中定义
declare let get_img_url:(name: any)=> string;
就可以在全局随意调用方法 get_img_url()