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注冊進去即可