vue-easyimport
Version:
Vue2.0更便捷的使用组件
49 lines (44 loc) • 1.86 kB
JavaScript
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文件夹')
}