Vue2.x全局挂载整理
前言
组件(components)
// components/index.js import compA from "./compA" export default { compA, compB: () => import(/* webpackChunkName: "components/compB" */ './compB') // 异步引入 }// main.js import components from './components' import Vue from 'vue' Vue.use({ install(Vue) { for(const key in components) { Vue.component(key, components[key]) } } })import Vue from 'vue'; import { Button, message } from 'ant-design-vue'; // 全局挂载按钮与弹窗 Vue.component(Button.name, Button); Vue.component(Button.Group.name, Button.Group); Vue.use(Button); Vue.prototype.$message = message;import Vue from 'vue' import upperFirst from 'lodash/upperFirst' import camelCase from 'lodash/camelCase' // 匹配components目录(包括子目录)下的所有vue文件 const requireComponent = require.context('../components', true, /\w+\.vue$/) requireComponent.keys().forEach(fileName => { // 获取所有的组件与文件名 const componentConfig = requireComponent(fileName) const componentName = upperFirst( camelCase( // 获取和目录深度无关的文件名 fileName .split('/') .pop() .replace(/\.\w+$/, '') ) ) // 全局挂载组件 Vue.component( componentName, // 如果这个组件选项是通过 `export default` 导出的,那么就会优先使用前者。 componentConfig.default || componentConfig ) })
工具类方法(utils)
指令(directives)
混入(mixins)
样式
最后更新于