背景:
- 公司需要做到,能够高效快速的进行国际化重构,原本国际化整个流程,异常繁琐和割裂,所以需要一套完整的一个命令行工具,统一整个国际化流程
技术选型
- 常见的方案有这个babel jscodesfhit ,正则,gogocode。
- 考虑到babel本身设计向后兼容,第三阶段的generator阶段 本身就会过滤空格,注释,所以涉及这种大规模源代码更改一般不用,即便用格式化插件,还是可能会对项目部本身格式造成影响,产生大量无效diff逻辑,开发使用体验较差。
- 结合之前给公司使开发了一些库升级工具就使用了 这个jscodeshift 有一定的使用和采坑经验,同时其内部都基于Recast 能最大限度的保持原有的代码风格,同时类jquery风格查询ast节点 ,开发维护相比于babel都更简单。
- 因此采用jscodesfhit
jscodeshift 总结
识别提取中文
js