Saber 酱的抱枕

Fly me to the moon

07/23
2019
软件

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

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

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

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

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

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

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

1
2
3
4
5
// .babelrc 文件
{
  "presets": [],
  "plugins": ["camelcase-identifier"]
}

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Math
// 变成
math
 
encodeURI
// 变成
encodeUri
 
new RegExp
// 变成
new regExp
 
innerHTML
innerHtml
 
HTMLCollection
htmlCollection

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

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

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

  1. 惠痴
    Google Chrome 71Google Chrome 71Windows 10/11Windows 10/11

    驼峰看着脑壳疼,大写遇大写的时候简直酸爽,下划线才是世界的主宰_(:3」∠)_

    回复
    1. saber 文章作者
      Google Chrome 75Google Chrome 75Windows 10/11Windows 10/11

      是的,我以前坚持下划线,然而大势所趋,木得办法。驼峰看起来真是费劲

      回复
TOP
    显示公告
    聊      天
    吃 零 食
    博客后台
    生存时间
    关闭春菜
    X
    召唤春菜