UNPKG

vue-easyimport

Version:

Vue2.0更便捷的使用组件

49 lines (44 loc) 1.86 kB
import Vue from 'vue'; function changeStr(str) { return str.charAt(0).toUpperCase() + str.slice(1) } try { const requireComponent = require.context('../../src/components/', true, /\.vue$/) requireComponent.keys().forEach(fileName => { const config = requireComponent(fileName); const componentName = changeStr( fileName.replace(/^\.\//, '').replace(/^\D+\//, '').replace(/\.vue+$/, '') ) console.log(`我找到了components组件文件夹,包含的文件名是${componentName}.vue`) Vue.component(componentName, config.default || config) }); } catch (error) { console.log('我找不到components文件夹') } /* 检查是否存在pages文件夹 */ try { const requirePages = require.context('../../src/pages/', true, /\.vue$/) requirePages.keys().forEach(fileName => { const config = requirePages(fileName); const componentName = changeStr( fileName.replace(/^\.\//, '').replace(/^\D+\//, '').replace(/\.vue+$/, '') ) console.log(`我找到了pages组件文件夹,包含的文件名是${componentName}.vue`) Vue.component(componentName, config.default || config) }); } catch (error) { console.log('我找不到pages文件夹') } /* 需要增加判断条件 如果目录中不存在views文件夹则不执行此代码 */ try { const requireViews = require.context('../../src/views/', true, /\.vue$/) requireViews.keys().forEach(fileName => { const config = requireViews(fileName); const componentName = changeStr( fileName.replace(/^\.\//, '').replace(/^\D+\//, '').replace(/\.vue+$/, '') ) Vue.component(componentName, config.default || config) }); } catch (error) { console.log('我找不到views文件夹') }