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