使用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>