封装Vue组件将任意后缀文件目录统一全部引入到当前文件

504 阅读1分钟

引发这种问题是由于我这做关于一个记账的Vue项目,当时目的是想封装一个svg的组件,需要引入svg图片,我当时是这样做的:

import  money from '@/assets/icons/money.svg'
import  labels from '@/assets/icons/labels.svg'
import  statistics from '@/assets/icons/statistics.svg'

刚开始工程量不大我需要一个个引入svg,但是随着后面工程量的加大,我需要引入更多的svg图片,如果这样一个一个引入真得是太烦了。。。于是我查遍全网,花了不少时间,终于找到了下面的代码,来解决我的问题。

const importAll = (requireContext: __WebpackModuleApi.RequireContext)=> requireContext.keys().forEach(requireContext);
 try {
   importAll(require.context('../assets/icons',true,/\.svg$/))
 } catch (error) {
   console.log(error) 
 }  //将一个目录任意后缀文件目录统一全部引入到当前文件

有了三面的代码这样我就不用一个个引入拉,大大节省了我的开发效率哈哈哈