import Vue from 'vue' import App from './App.vue' import Router from './router' import './icons' import FastClick from 'fastclick' import '@/assets/js/generatedValidate/index' //表单校验 import '@utils/compatible' //兼容性代码 import NoMoreClick from '@/directive/no-more-click' //全局注册vant常用组件 import 'vant/lib/index.css' import 'viewerjs/dist/viewer.css' import 'quill/dist/quill.snow.css' import { Toast, Form, Loading, Lazyload, Notify, Image, Button, Tabs, Tab, Icon } from 'vant' import generatedComponents from './generatedComponents' for (let item in generatedComponents) { Vue.component(item, generatedComponents[item]) } Vue.use(Button).use(Tabs).use(Tab).use(Icon) Vue.use(Image) Vue.use(Toast) Vue.use(Form) Vue.use(Loading) Vue.use(Lazyload) Vue.use(Notify) Vue.use(Lazyload, { lazyComponent: true, loading: '加载中...', }) // 全局 防重复点击 Vue.directive('no-more-click', NoMoreClick) //权限控制 import { permission } from '@/assets/js/utils/permission' permission() //ios点击300毫秒时延 FastClick.attach(document.body) // components下的文件全部转化成组件 const files = require.context('@/components/', true, /\.vue$/) files.keys().map((item) => { Vue.component(files(item).default.name, files(item).default) }) Vue.config.productionTip = false const vm = new Vue({ router: Router, render: (h) => h(App), }).$mount('#app') window.page = vm