编程语言
首页 > 编程语言> > javascript-JS:重命名变量以进行重构(使用AST,而不是文本)

javascript-JS:重命名变量以进行重构(使用AST,而不是文本)

作者:互联网

重构代码时,我经常需要重命名变量,目前我正使用正则表达式以某种不明智的方式进行操作-由于缺乏实际的结构,我最终不得不采用愚蠢的文本解决方法,例如,将“ req”重命名为“ request”并避免使用类似“ require”之类的副作用.

考虑一下这些东西:有点像用正则表达式修改DOM:只是行不通.

我已经了解了AST和Esprima等代码结构修改工具.是否有工具可以重命名变量,基于Esprima还是其他?

解决方法:

1. handle.js

看起来http://graspjs.com/确实做到了这一点.

grasp selector --replace replacement file.js

例如,要将“ el”重命名为“ element”:

grasp '#el' --replace 'element' index.js

Official grasp.replace docs.

2. vscode

Visual Studio Code还包括一个真正的替代工具.只需右键单击令牌,然后选择重命名符号.

enter image description here

标签:abstract-syntax-tree,javascript,parsing,refactoring
来源: https://codeday.me/bug/20191122/2060728.html