1 var map = { 2 "./todoEnter.vue": "./src/components/todoEnter.vue", 3 "./todoList.vue": "./src/components/todoList.vue", 4 "./todoToto.vue": "./src/components/todoToto.vue" 5 }; 6 7 // 传入components下的相对路径,返回一个模块 8 function webpackContext(req) { 9 var id = webpackContextResolve(req); 10 return __webpack_require__(id); 11 } 12 // 传入components下的相对路径,返回一个./src/目录下的路径 13 function webpackContextResolve(req) { 14 var id = map[req]; 15 if(!(id + 1)) { // check for number or string 16 var e = new Error("Cannot find module ‘" + req + "‘"); 17 e.code = ‘MODULE_NOT_FOUND‘; 18 throw e; 19 } 20 return id; 21 } 22 23 //下面三个是导出的静态方法 24 25 // 返回一个components下文件的路径列表,数组中的每一项例如‘./todoEnter.vue‘ 26 webpackContext.keys = function webpackContextKeys() { 27 return Object.keys(map); 28 }; 29 30 // 传入components下的相对路径,返回一个./src/目录下的路径 31 webpackContext.resolve = webpackContextResolve; 32 33 webpackContext.id = "./src/components sync \\w*\\.vue$"; 34 35 36 // 传入components下的相对路径,返回一个模块 37 module.exports = webpackContext; 38 39 40 //遍历的目录 41 ‘./components‘ 42 //遍历子文件 43 ‘./todoEnter/inner.vue‘ 44 // 不遍历自文件 45 ‘./todoEnter.vue‘
原文:https://www.cnblogs.com/codylau/p/11339026.html