uniapp使用Vue3挂载函数到全局

2,026 阅读1分钟

uniapp使用Vue3挂载函数到全局

  • 之前网上搜了很多,还全都是vue2的,导致一个全局函数我试了好久,太坑了。
    后来发现Vue3的实现和2完全不同。

  • 下面我贴上Vue2挂载和Vue3不同的挂载方式

    // #ifndef VUE3
    import Vue from 'vue'
    import App from './App'
    //下面两句为Vue2 挂载函数的方法,先导入js文件,再挂载到Vue.prototype上面。
    //$request 随便取名,$是为了表示全局而已,可以自行替换
    import request from 'http/new_file.js'
    Vue.prototype.$request=request
    
    Vue.config.productionTip = false
    Vue.config.silent=true
    App.mpType = 'app'
    
    const app = new Vue({
    	...App
    })
    
    app.$mount()
    // #endif
    
    // #ifdef VUE3
    import {
    	createSSRApp
    } from 'vue'
    import App from './App.vue'
    // 这是vue3挂载全局函数的写法 先导入js文件,再使用app.config.globalProperties
    import request from '@/http/new_file.js'
    export function createApp() {
    	const app = createSSRApp(App)
    	// 这是vue3挂载全局的写法
    	app.config.globalProperties.$request=request
    	return {
    		app
    	}
    }
    // #endif