/*获得入口文件列表*/
var basePath='./webapp/ng/app' /*路口点文件目录*/
var outputPath="./webapp/src/js" /*打包文件输出路径*/
function getEntryFileList(){
var fs = require('fs'),
fileList = [];
function walk(path){
var dirList = fs.readdirSync(path);
dirList.forEach(function(item){
if(fs.statSync(path + '/' + item).isDirectory()){
walk(path + '/' + item);
}else{
fileList.push(path + '/' + item);
}
});
}
walk(basePath);
var ret={}
for(var jsfile of fileList){
var alias=jsfile.replace(`${basePath}/`,"").replace(".js","")
ret[alias]=jsfile
}
return ret;
}
module.exports={
entry:getEntryFileList(),
output:{
path:outputPath,
filename: '[name].bundle.js'
}
}
在webpack配置文件中output.filename 中的[name]就是enter对象中的key,通过构造合适的name就可以使打包后的文件按照目录结构输出