jscodeshift -国际化规模应用

80 阅读1分钟

背景:

  1. 公司需要做到,能够高效快速的进行国际化重构,原本国际化整个流程,异常繁琐和割裂,所以需要一套完整的一个命令行工具,统一整个国际化流程

技术选型

  1. 常见的方案有这个babel jscodesfhit ,正则,gogocode。
  2. 考虑到babel本身设计向后兼容,第三阶段的generator阶段 本身就会过滤空格,注释,所以涉及这种大规模源代码更改一般不用,即便用格式化插件,还是可能会对项目部本身格式造成影响,产生大量无效diff逻辑,开发使用体验较差。
  3. 结合之前给公司使开发了一些库升级工具就使用了 这个jscodeshift 有一定的使用和采坑经验,同时其内部都基于Recast 能最大限度的保持原有的代码风格,同时类jquery风格查询ast节点 ,开发维护相比于babel都更简单。
  4. 因此采用jscodesfhit

jscodeshift 总结

c6d76bffd10d7e1d1cbd168f3aae0b3.jpg

image.png

识别提取中文

image.png

image.png

js

image.png