# functionToClass **Repository Path**: Hiwen/functionToClass ## Basic Information - **Project Name**: functionToClass - **Description**: 实现js代码es5的function语法到es6的class语法的转换功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-20 - **Last Updated**: 2025-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 实现js代码es5的function语法到es6的class语法的转换功能 ### 安装依赖 ``` bash npm i ``` #### 启动测试 ##### 基于acorn的实现 ``` bash node convert.js ``` * 不支持注释 ##### 基于babel的实现 ``` bash node convert-babel.mjs ``` * 结果的格式比较差 #### 结果查看 默认结果在dist目录中 ### AI 提示词 代码主要由deepseek生成,其提示词如下 我有很多 js 文件,其中使用 es5的 funciton 模式编写的,我希望通过 nodejs 自动将这些 function 的 js 文件 转换为 es6的class 模式。比如: ``` Javascript // test /** * Person类定义 * @param {*} name */ function Person(name) { this.name = name; } // test /** * Hello */ Person.prototype.sayHello = function () { console.log(this.name); }; // testt Person.test = function(){ console.warn('test'); } // 导出 export default Person; ``` 需要转换为: ``` Javascript // test /** * Person类定义 * @param {*} name */ class Person { constructor(name) { this.name = name; } // test /** * Hello */ sayHello() { console.log(this.name); }; // testt static test() { console.warn('test'); } } export default Person; ``` 并且需要批量转换,指定源目录,指定目标目录,转换之后,目标目录的结构需要与源目录相同 如果未指定目录,则源目录默认为 './src', 目标目录默认为 './dist'