美文网首页
vue引入公共组件-require.context

vue引入公共组件-require.context

作者: 阿羡吖 | 来源:发表于2020-04-20 14:31 被阅读0次

require.context 是webpack中,用来创建自己的(模块)上下文
webpack会在打包构建代码中解析
require.context接收三个参数:
1、要搜索的文件夹目录
2、是否搜索它的子目录
3、以及一个匹配文件的正则表达式

const modulesFiles = require.context('./modules', true, /\.js$/)

在项目中,如果自定义了很多组件,使用这个就很方便:


image.png

moudles模块拆分之后,文件很多,分别引入,导致代码量增多,这个时候就可以使用require.context 来搞定

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'

Vue.use(Vuex)

const modulesFiles = require.context('./modules', true, /\.js$/)
// 这里使用了reduce 不理解可自行百度
  const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
},()}
image.png

打印modules可以看出 所有js文件内容 可以全部拿到,这就很nice。

相关文章

网友评论

      本文标题:vue引入公共组件-require.context

      本文链接:https://www.haomeiwen.com/subject/umwrihtx.html