Saber 酱的抱枕

Fly me to the moon

07/23
2019
软件

Babel 将 js 变量名转换为驼峰命名风格

我想修改之前的代码,把 js 变量名转换为驼峰命名风格,如下:

// 原有代码的变量名是下划线方式
let test_name = ''
test_name = document.querySelector('.test_name')
// 修改成驼峰命名
let testName = '';
testName = document.querySelector('.test_name');

因为要修改的文件内容繁杂,变量名很多,手动修改不能接受,此外我还担心手动替换会影响到不该改的地方(如字符串里),所以我想找一个工具来自动转换,这样就方便多了。

babel-plugin-camelcase-identifier 就可以解决这个需求,它是 Babel 的插件,我们先安装它:

npm i -D @babel/core @babel/cli babel-plugin-camelcase-identifier

之后在项目的 .babelrc 文件的 plugins 里添加它,如:

// .babelrc 文件
{
  "presets": [],
  "plugins": ["camelcase-identifier"]
}

最后用 Babel 对目标文件转换,输出到一个新文件:

npm babel .\t.js --out-file t1.js

打开新文件,验证转换结果,完美~(并不

它可能会导致一些坑,需要我们注意:

Math
// 变成
math

encodeURI
// 变成
encodeUri

new RegExp
// 变成
new regExp

innerHTML
innerHtml

HTMLCollection
htmlCollection

诸如此类,某些 JavaScript 内置的方法并不符合驼峰命名规则,这个插件也会转换……

我看这个插件还是不太聪明的亚子,不过已经帮了我很大忙了,这些特殊的地方我手动进行了修复。

Babel 将 js 变量名转换为驼峰命名风格