webpack之require.context

require.context

官方文檔指出
It allows you to pass in a directory to search, a flag indicating whether subdirectories should be searched too, and a regular expression to match files against.

意思是它允許你通過一個目錄進行搜索,flag指定是否搜索子目錄,以及與文件匹配的正則表達式丑孩。

也就是說 require.context 有三個參數(shù):

  • directory:說明需要檢索的目錄
  • useSubdirectories:是否檢索子目錄
  • regExp: 匹配文件的正則表達式

examples:

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

context module API

官方文檔指出
A context module exports a (require) function that takes one argument: the request.
The exported function has 3 properties: resolve, keys, id.
resolve is a function and returns the module id of the parsed request.
keys is a function that returns an array of all possible requests that the context module can handle.
id is the module id of the context module. This may be useful for module.hot.accept

意思是該上下文到處一個必須的函數(shù),并且這個函數(shù)接受一個請求的參數(shù).
導出的函數(shù)有3個屬性:resolve呕乎、keys和id.

  • resolve是一個函數(shù)捕犬,返回解析請求的模塊ID兑牡。
  • keys是一個函數(shù)跨扮,返回上下文模塊可以處理的所有可能請求的數(shù)組.
  • id是上下文模塊的模塊ID酱固。 這可能對module.hot.accept有用
var cache = {};

function importAll (r) {
  r.keys().forEach(key => cache[key] = r(key));
}

importAll(require.context('../components/', true, /\.js$/));
例如導出當前目錄文件下的所有js文件并且不包含該index.js文件

首先創(chuàng)建兩個測試文件index.js和test.js

//index.js

var cache = {};

function importAll (r) {
  r.keys().forEach(key => {
    if(key === './index.js') return
    cache[key] = r(key).defalut
  });
}

importAll(require.context('.', false, /\.js$/));

console.log(cache) //可以看下cache現(xiàn)在是什么樣子
export default cache
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蒸健,隨后出現(xiàn)的幾起案子座享,更是在濱河造成了極大的恐慌,老刑警劉巖似忧,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渣叛,死亡現(xiàn)場離奇詭異,居然都是意外死亡橡娄,警方通過查閱死者的電腦和手機诗箍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挽唉,“玉大人滤祖,你說我怎么就攤上這事∑孔眩” “怎么了匠童?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長塑顺。 經(jīng)常有香客問我汤求,道長俏险,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任扬绪,我火速辦了婚禮竖独,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挤牛。我一直安慰自己莹痢,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布墓赴。 她就那樣靜靜地躺著竞膳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诫硕。 梳的紋絲不亂的頭發(fā)上坦辟,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音章办,去河邊找鬼锉走。 笑死,一個胖子當著我的面吹牛纲菌,可吹牛的內(nèi)容都是我干的挠日。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼翰舌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冬骚?” 一聲冷哼從身側(cè)響起椅贱,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎只冻,沒想到半個月后庇麦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡喜德,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年山橄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舍悯。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡航棱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萌衬,到底是詐尸還是另有隱情饮醇,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布秕豫,位于F島的核電站朴艰,受9級特大地震影響观蓄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祠墅,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一侮穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毁嗦,春花似錦撮珠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驶俊,卻和暖如春娶耍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饼酿。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工榕酒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人故俐。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓想鹰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親药版。 傳聞我的和親對象是個殘疾皇子辑舷,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容