Skip to content

camel-kit

npm package

NPM versionNPM Downloadsjsdelivr

一个轻量且功能丰富的工具库,用于处理 驼峰命名(camelCase)下划线命名(snake_case) 的相互转换。


核心功能

  • 双向转换:支持 camelCasesnake_case 的快速转换。
  • 配置灵活:通过选项控制转换行为(如保留连续大写、自定义分隔符)。
  • Unicode 支持:兼容多语言字符(如希腊字母、日文等)。
  • 零依赖:仅需 ~2KB(gzip 压缩后)。

安装

bash
npm add camel-kit
bash
pnpm add camel-kit
bash
yarn add camel-kit
html
<script src="https://cdn.jsdelivr.net/npm/camel-kit/dist/index.umd.min.js"></script>
<script>
  const { camelize, decamelize } = CamelKit;
  console.log(camelize('snake_case_example')); // 输出: snakeCaseExample
  console.log(decamelize('camelCaseExample')); // 输出: camel_case_example
</script>

快速上手

javascript
import { camelize, decamelize } from 'camel-kit';

// 下划线转驼峰
console.log(camelize('snake_case_example')); // 输出: snakeCaseExample

// 驼峰转下划线
console.log(decamelize('camelCaseExample')); // 输出: camel_case_example

高级功能

1. 配置选项

camelize 配置

javascript
// 转为帕斯卡式(首字母大写)
console.log(camelize('hello_world', { pascalCase: true })); // 输出: HelloWorld

// 保留连续大写字母(如 `HTTPRequest` → `http_Request`)
console.log(camelize('HTTP_Request', { preserveConsecutiveUppercase: true })); // 输出: hTTP_Request

decamelize 配置

javascript
// 自定义分隔符(如 kebab-case)
console.log(decamelize('camelCase', { separator: '-' })); // 输出: camel-case

// 保留连续大写(如 `FOOBar` → `FOO_Bar`)
console.log(decamelize('FOOBar', { preserveConsecutiveUppercase: true })); // 输出: FOO_Bar

2. 数组输入处理

javascript
console.log(camelize(['hello', 'world'])); // 输出: helloWorld
console.log(decamelize('helloWorld', { separator: '_' })); // 输出: hello_world

3. Unicode 支持

javascript
// 处理多语言字符
console.log(camelize('üser_näme')); // 输出: üserNäme
console.log(decamelize('üserNäme')); // 输出: üser_näme

浏览器支持

ChromeFirefoxSafariOperaEdge
Latest ✔Latest ✔Latest ✔Latest ✔Latest ✔