使用vue3,外部js文件如何访问绑在vue实例化兑现上的属性

在使用vue3的时候,我在main.js里定义的这个属性

const app = createApp(App);

app.config.globalProperties.$api = api;
app.config.globalProperties.$mapViews = { situtationView: null };

app.use(router).use(store).mount('#app');

然后有个tools.js,我想在tools.js里边访问$mapViews这个属性,总是undefined,我可以确保这个属性有值,并且我设置延迟也是undefined,
网上查到的都是vue2的写法,我试了都无效
试过的方法:
1.main.js页面导出,js文件里引入 (无效)
2.在js文件里创建实例化, (无效)
朋友们,vue3里该咋样实现

看官网

img

目前采用的是,将js里的函数封装成一个整体类,这个类接收一个参数,接收到保存在原型上,内部调用;

// js文件
export default class LoadPlan {
    constructor(mapView){
        this.mapArcgis = mapView;
    }
    console.log(this.mapArcgis); // 我想要的东西
}
    

然后在调用的页面,实例化这个类,将你需要的属性传进去


```javascript
// vue文件
import LoadPlan from '@render/utils/handle/loadPlan'

 let loadPlan= new LoadPlan(this.$mapViews.situationView);


```

如果实在组件中使用,并且是setup函数中,

import {onMounted, getCurrentInstance, reactive, ref, nextTick} from "vue";
setup() {
const {proxy} = getCurrentInstance();
proxy.$xxx
}

外部的js我倒是,没有具体试过,想来应该是一样的