webpack的rquire.context用法实现工程自动化的方法

  

最近仿写一个项目,如下目录,基地内部都是一些基础的组件,但是并没有在主要。js中使用常规的方式去全局注册的,刚开始还不明白没有注册的组件怎么在全局使用的

  

  

 webpack的rquire.context用法实现工程自动化的方法

     //main.js   从“进口全球。/跑龙套/全球的   Vue.use(全球)//解释:如果自动化的代码直接写在一个js文件中直接全局的引入主要。js中也是没有问题的,//但是这里是按照自定义插件的方式写下全球文件中的就要使用vue的使用方法      

自定义全球插件,通过全局的Vue.use(全球)来调用

     //global.js   进口{   输入,   对话框中,   从“element-ui”}   从“进口VueLazyload vue-lazyload”   从“vue-meta”进口元   进口*的跑龙套”。/指数”      出口默认{   安装(Vue) {   const requireComponent=require.context (   “@/基地”,   真的,/(a-z0-9) + \。(jsx # 63; | vue) $/我,   )//console.log (requireComponent);//console.log (requireComponent.keys ())//console.log (requireComponent.resolve)//console.log (requireComponent.id)//console.log (requireComponent.resolve (“。/tabs.vue”))//console.log (requireComponent (”。/tabs.vue "));//console.log (requireComponent (“。/tabs.vue”)===要求(“@//标签基数”));//批量注册基础组件   requireComponent.keys ()。forEach(文件名=比;{   const componentConfig=requireComponent(文件名)   const componentName=componentConfig.default.name   如果(componentName) {   Vue.component (componentName componentConfig.default | |   componentConfig)   }   })      Vue.prototype。$元素={大小:“小”}   Vue.prototype。$跑龙套=跑龙套      Vue.use(输入)   Vue.use(对话框)   Vue.use(元)   },   }      

解析require.context         const requireComponent=require.context (   “@/基地”,   真的,/(a-z0-9) + \。(jsx # 63; | vue) $/我,   )      

要求。上下文返回一个webpack的上下文环境,返回的是一个函数,
  

  

有三个参数:

  
      <李>要搜索的文件夹目录,(不可以是变量,webpack在编译阶段无法定位目录)   <李>是否还要再搜索他的子目录   <李>匹配文件的正则表达式李   
        要求。上下文(目录、useSubdirectories regExp);      

<强>总结:

  
      <李> require.context模块返回一个函数,这个函数可以接受一个参数,李   <李>要求。上下文的第一个参数不可以是变量,webpack在编译阶段无法定位到目录   <李>有三个属性和方法,决心,钥匙,id   
        <李>解决是一个函数,传入文件的路径得到解析后的模块的id   <李>键是一个函数,返回所有文件路径组成的数组   <李> id是上下文环境中包含的模块的id,可能在使用module.hot。接受(热模块更新)时使用李   
      李   
  

看下面两幅图片解析的更清晰
  

  

 webpack的rquire.context用法实现工程自动化的方法

  

 webpack的rquire.context用法实现工程自动化的方法

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

webpack的rquire.context用法实现工程自动化的方法