说一种没人发的,利用混入mixins来实现全局变量和函数。mixins外面的办法、变量、筛选器会和组件外面的办法、变量、筛选器合并。这种办法长处是ide会有办法、变量、筛选器提醒。

一、main.js文件

import Vue from 'vue' import App from './App' import router from './router' import store from './store'import mixin from './utils/mixin'  Vue.prototype.$bus = new Vue() //进行全局混入Vue.mixin(mixin)new Vue({    store,    router,    render: h => h(App),}).$mount('#app')

一、mixin.js文件,我是把办法、变量、筛选器这三个别离写到三个js文件外面了,不便前期保护。也能够间接写到mixins文件外面

import filters from './filters'import globalMethods from './global-methods'import Config from '../config'import CONSTANT from './const_var'// 全局混入export default {    data() {        return {            CONFIG: Config,            CONSTANT,        }    },    methods: {        // //将globalMethods文件外面的办法挂载到vue上,以不便调用,间接this.$xxx办法名就能够了        // Object.keys(globalMethods).forEach(key => {        //     Vue.prototype[key] = tools[key]        // })        // 将globalMethods外面的办法用对象开展符混入到mixin上,以不便调用,间接this.$xxx办法名就能够了        ...globalMethods,    },    filters: {        // //将filter外面的办法增加了vue的筛选器上        // Object.keys(filters).forEach(key => {        //     Vue.filter(key, filters[key])        // })        ...filters,    },}

filters.js文件

export default {    // 工夫转换器    date(v) {      ...    },    // 解决身份证信息,两头暗藏掉    processIdNumber(v) {        ...    },}

global-methods.js文件

import { Message, MessageBox } from 'element-ui'export default {    $success(msg) {     ...    },    $warning(msg) {      ...    },    $error(msg) {     ...    },    $checkPlatform() {      ...    },    // 倒计时工夫格式化    $countdownFormatTime(timeStamp) {       ...    },}

constant_var.js文件

export default {    REDIRECT: 'redirect',        // 申请办法    POST: 'post',    GET: 'get',    PATCH: 'patch',    DELETE: 'delete',    PUT: 'put',        // 动态常量    PICKEROPTIONS: {        ...    },    PAGENUMBER: 1,    PAGESIZE: 10,    DELAYTIME: 250,    SUCCESS: '000000',}