private void HandleDirectories(BundleCollection bundles, string physicPath, string bundlePath, StreamWriter log) { //处理目录 string[] folders = Directory.GetDirectories(physicPath); foreach (string folderPath in folders) { var subFolder = new DirectoryInfo(folderPath); if (IsCombine(subFolder, log)) { string[] files = GetCombineFolderFiles(subFolder); //string virtualFolderName = VirtualPathUtility.Combine(bundlePath, subFolder.Name + ".js"); IEnumerable <ManagerSetting> aa = ManagerSetting.Split(files, VirtualPathUtility.Combine(bundlePath, subFolder.Name)); foreach (ManagerSetting asdf in aa) { Handle(bundles, asdf.BundleName, log, asdf.FileStrings.ToArray()); } } else { string subVirtualFolder = VirtualPathUtility.Combine(bundlePath, subFolder.Name) + "/"; HandleFiles(bundles, subFolder.FullName, subVirtualFolder, log); } } }
public static IEnumerable <ManagerSetting> Split(string[] files, string suggestBundleName) { var result = new Dictionary <string, ManagerSetting>(); foreach (string file in files) { var fileInfo = new FileInfo(file); ManagerSetting setting; if (!result.ContainsKey(fileInfo.Extension)) { setting = new ManagerSetting { BundleName = suggestBundleName + fileInfo.Extension }; result.Add(fileInfo.Extension, setting); } else { setting = result[fileInfo.Extension]; } setting.FileStrings.Add(file); } return(result.Values.ToArray()); }
public static IEnumerable<ManagerSetting> Split(string[] files, string suggestBundleName) { var result = new Dictionary<string, ManagerSetting>(); foreach (string file in files) { var fileInfo = new FileInfo(file); ManagerSetting setting; if (!result.ContainsKey(fileInfo.Extension)) { setting = new ManagerSetting { BundleName = suggestBundleName + fileInfo.Extension }; result.Add(fileInfo.Extension, setting); } else { setting = result[fileInfo.Extension]; } setting.FileStrings.Add(file); } return result.Values.ToArray(); }