Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
            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();
            }