vue-cli3.x Vue.prototype挂载

使用vue-cli3.x 创建项目

之前vue-cli2创建项目后,如果自定义js插件,可以通过 

import xxx from 'xxx'

Vue.prototype.$xxx = xxx

将xxx挂载到Vue原型上,但到了cli3中,根据网上资料,现在

import Vue from 'vue' 并不能返回Vue对象,如果还是使用

Vue.prototype.$xxx = xxx挂载,那在子组件中也无法通过this.$xxx进行调用

cli3中现在是通过createApp创建Vue实例对象,我们需要将js组件引入,通过props的形式传递(axios以前是需要挂载,现在通过VueAxios可以直接use使用)

import  { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

import axios from 'axios'
import VueAxios from 'vue-axios'

import xxx from './utils/xxx.js'

createApp(App,{xxx:xxx}).use(store).use(router).use(VueAxios,axios).mount('#app')

在子组件中引用xxx

<template>
    <div class="sub">
        <h1>This is an subpage</h1>
    </div>
</template>

<script>
    export default {
        name: 'Sub',
        props: {
            xxx:Object //定义prop接收
        },
        mounted()
        {
            this.$props.xxx.post() //可直接调用
        },
        methods:
        {
        }
    }
</script>

<style>
</style>
原文地址:https://www.cnblogs.com/IsSshuai/p/14086445.html