webpack中require.context 用法

1.require.context(directory, useSubdirectories = false, regExp = /^\.\//)

Examples:

require.context("./test", false, /\.test\.js$/);

require.context("../", true, /\.stories\.js$/);

2.入参

  1. 你要引入文件的目录

  2.是否要查找该目录下的子级目录

  3.匹配要引入的文件

3.返回的:

       1. context.require 返回一个require 函数:

function webpackContext(req) {return __webpack_require__(webpackContextResolve(req));

函数有三个属性:resolve 、keys、id

        · resolve: 是一个函数,他返回的是被解析模块的id

        · keys: 也是一个函数,他返回的是一个数组,该数组是由所有可能被上下文模块解析的请求对象组成

        · id:上下文模块的id

用法:

const pages = require.context('pages', true, /\/.*\.js$/)
pages.keys().map(key => {
if (!key.includes('/store/')) return
const keys = key.replace(/(\.\/|\.js)/g, '')
modules[keys.split('/').pop()] = pages(key).default
})

export default modules

最后把modules注册进去即可

 

转载于:https://www.cnblogs.com/zhouyideboke/p/10948294.html

你可能感兴趣的:(webpack中require.context 用法)