main.ts
import { createApp } from 'vue'
import App from './App.vue'
const app=createApp(App)
//添加一个全局属性
app.config.globalProperties.$http='我是一个网络请求'
index.vue
<template>
<div>
<h3>{{$http}}</h3>
</div>
</template>
<script setup lang="ts">
</script>
<style lang="scss" scoped>
</style>
在引用全局属性$http的时候报如下错误:
any:
类型“{ $: ComponentInternalInstance; $data: {}; $props: { style?: unknown; key?: string | number | symbol | undefined; ref?: VNodeRef | undefined; ref_for?: boolean | undefined; ... 7 more ...; class?: unknown; }; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) ...”上不存在属性“$http”。ts(2339)
解决办法:在vite-env.d.ts文件中,或者新建一个.d.ts文件,加入如下配置即可:
export {}
declare module 'vue' {
interface ComponentCustomProperties {
$http: any
}
}
这样问题就解决了!