// main.js
/**
* 驼峰命名转横杠命名
* @param {*} str
* @returns {*} 返回xxx-xxx
*/
function kebabCase (str) {
const hyphenateRE = /([^-])([A-Z])/g;
return str
.replace(hyphenateRE, '$1-$2')
.replace(hyphenateRE, '$1-$2')
.toLowerCase();
}
// 上下文模块导出一个(require)函数,该函数接受一个参数:(一般是keys导出的文件路径)。
const requireComponent = require.context('./components/globals', true, /\.vue$/);
requireComponent.keys().map(fileName => {
console.log(fileName)
// 获取组件
const componentConfig = requireComponent(fileName);
// 剥去文件名开头的 `./` 和`.vue`结尾的扩展名
const componentName = fileName.replace(/^\.\//, '').replace(/\.vue$/, '');
const kebabCaseName = kebabCase(componentName);
// 全局注册组件
Vue.component(
kebabCaseName,
// 如果这个组件选项是通过 `export default` 导出的,那么就会优先使用 `.default`,否则回退到使用模块的根。
componentConfig.default || componentConfig
);
});
webpack require.context 自动化导入Vue全局组件
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
使用require.context自动化导入ES模块
require.context是什么一个webpack的api,通过执行require.context函数获取
webpack 子目录 搜索 正则表达式 -
require.context的用法。路由规则的自动化导入
require.context的用法。路由规则的自动化导入
自动化 javascript 前端 递归 正则表达式 -
高级Vue前端技巧之require.context
本文介绍Vue前端开发中require.context方法的使用技巧
vue webpack require.context -
vue 引入公共组件之 require.context
我们项目开发中,经常需要import或者export各种模块,那么有没有什么
调用方法 项目开发 文件路径 正则 子目录