美文网首页
webpack中require.context控制模块引入

webpack中require.context控制模块引入

作者: 且须文雅 | 来源:发表于2020-03-17 11:52 被阅读0次

    webpack官网介绍

    require.context(directory:String, includeSubdirs:Boolean /* 可选的,默认值是 true */, filter:RegExp /* 可选的 */)

    得到的是一个函数实例:

    ƒ webpackContext(req) {
        var id = webpackContextResolve(req);
        return __webpack_require__(id);
    }
    
    ƒ webpackContext(req)
    keys: ƒ webpackContextKeys()
    resolve: ƒ webpackContextResolve(req)
    id: "./src/project sync recursive routers.js$"
    

    具体这个应该叫做什么我也不太清楚。

    它有keys和resolve两个方法,keys方法执行后返回的是所有匹配的文件的相对路径(相对于传入require.context方法的第一个参数的路径)。取一个key作为参数执行那个函数实例,即可得到对应模块文件导出的东西。

    示例:

    const routerList = require.context('../project/', true, /routers.js$/);
    console.log(routerList);
    console.log(routerList.keys());
    routerList.keys().forEach(k => {
      console.log(routerList(k));
    });
    

    所输出内容为:


    执行结果

    至于它的resolve方法,暂时不知道是干嘛用的。

    相关文章

      网友评论

          本文标题:webpack中require.context控制模块引入

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