2017年4月8日 星期六

webpack 使用require.context做動態require

如果要做動態module require
直接使用 require("/"+name) 是不會理你的
因為在compile當下不知道你的變數值name是什麼
自然會找不到
透過使用require.context,他會針對指定的目錄下檔案
建立一份key mapping

req = require.context("comps", true, /\.coffee$/);
會針對comps下所有子目錄內的 coffee檔案建立一份
key索引
這部分可以透過
console.log req.keys()查看
例如可能內部索引會有如同
{
  0:"./comps/layout/mylayout/index.coffee"
  ....
}
所以就可以做動態require載入
Module = req('./comps/layout/mylayout/index.coffee')

沒有留言: