@lorcan-store/vue-auto-router
Version:
A Vite plugin for auto-generating Vue router configuration with smart naming conventions and custom templates
114 lines • 2.65 kB
TypeScript
import type { PluginOptions } from './types';
/**
* 路由生成器类
*/
export declare class RouteGenerator {
private options;
private routeTemplateFunction;
private messages;
constructor(options: PluginOptions);
private get msg();
/**
* 标准化路径
* @param path 路径
* @returns 标准化后的路径
*/
private normalizePath;
/**
* 确保必要的目录存在
*/
private ensureDirectoriesExist;
/**
* 生成路由配置
*/
generate(): Promise<void>;
/**
* 扫描文件
* @returns 匹配的文件路径数组
*/
private scanFiles;
/**
* 生成导入声明
* @param files 文件路径数组
* @returns 导入声明数组
*/
private generateImports;
/**
* 生成路由配置
* @param files 文件路径数组
* @returns 路由节点数组
*/
private generateRoutes;
/**
* 写入路由文件
* @param routes 路由配置
* @param imports 导入声明
* @param dirName 目录名
* @param forceOverwrite 是否强制覆盖
*/
private writeRouteFile;
/**
* 检查文件否存在
* @param filePath 文件路径
* @returns 是否存在
*/
private fileExists;
/**
* 获取组件名称
* @param file 文件路径
* @returns 组件名称
*/
private getComponentName;
/**
* 获取导入路径
* @param file 文件路径
* @returns 导入路径
*/
private getImportPath;
/**
* 获取路由路径
* @param dir 目录名
* @returns 路由路径
*/
private getRoutePath;
/**
* 获取子路由路径
* @param file 文件路径
* @returns 子路由路径
*/
private getSubRoutePath;
/**
* 获取路由基础名称
* @param dir 目录名
* @returns 路由基础名称
*/
private getRouteBaseName;
/**
* 获取路由名称
* @param dir 目录名
* @param file 文件路径
* @returns 路由名称
*/
private getRouteName;
/**
* 按目录分组文件
* @param files 文件路径数组
* @returns 分组后的文件映射
*/
private groupFilesByDirectory;
/**
* 加载路由模板函数
*/
private loadRouteTemplate;
/**
* 生成路由文件内容
*/
private generateRouteFileContent;
/**
* 转换为帕斯卡命名法(PascalCase)
* @param str 输入字符串
* @returns 转换后的字符串
*/
private toPascalCase;
}
//# sourceMappingURL=generator.d.ts.map