@charzing/vehicle-utils

中文文档
0.12.0发布于 2026/11/01MITTypeScriptESM + CJS零依赖近 30 天下载 2225

在所有平台共享Charzing车辆数据管理水电(动态火炉绘图)

中文使用文档
文档目录29 节
  1. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  2. 주요
  3. (消防队)
  4. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  5. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  6. qq (npm 链接)
  7. npm 패키지로 (프로덕션)
  8. API( API )
  9. 1. 国家
  10. 2. 国家
  11. 3. URL 생성
  12. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  13. 표준
  14. 규칙
  15. 예시
  16. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  17. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  18. 빌드
  19. 빌드
  20. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  21. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  22. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  23. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  24. 1. 联合国. 魅力广告
  25. 2. 联合国. CharzingApp- Expo 游戏
  26. 3个. 令人惊叹 (웹
  27. QQ 类型脚本QQ
  28. ⚠️
  29. 📄

@ charzing/ 车辆使用权

令人着迷

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

@ charzing/ 车辆使用权{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ 魅力 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪ {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪♪ {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}♪.

주요

  • +++/++ ID+++ (+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • QQ 防火库存储 URL QQ
  • {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
  • QQ 类型脚本QQQQQQQ

(消防队)

경로내용
@charzing/vehicle-utils/template{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢normalizeTemplateYears 등
@charzing/vehicle-utils/report리포트
@charzing/vehicle-utils/listing매물 대기·상태 수명 + {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢(单位:千美元)toListVehicle• 妇女applyVehicleFilters• 妇女sortVehicles,[범위
@charzing/vehicle-utils/terms약관·고지(웹·앱)
@charzing/vehicle-utils/dealer- 딜러 같은pickLatestPerVin页:1purchaseStage• 妇女shippingStage• 妇女resolveOnboardingStep(中文(简体) )

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

  • 语言: 类型脚本 5
  • 构建: tsup (建设 )
  • 软件包管理器时间:
  • 模块+ CJS + + + + + +

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

# 1. vehicle-utils 빌드
cd /Users/sungmin/charzing-vehicle-utils
npm install
npm run build
npm link

# 2. 각 프로젝트에서 링크
cd /Users/sungmin/charzing-admin
npm link @charzing/vehicle-utils

cd /Users/sungmin/CharzingApp-Expo
npm link @charzing/vehicle-utils

cd /Users/sungmin/Desktop/project/react/charzing
npm link @charzing/vehicle-utils

npm 패키지로 (프로덕션)

npm install @charzing/vehicle-utils

API( API )

1. 国家

normalizeBrandId(brand: string): string

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}请检查一下 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}.

import { normalizeBrandId } from '@charzing/vehicle-utils';

// 한국어 → 영어 소문자
normalizeBrandId('현대');      // 'hyundai'
normalizeBrandId('기아');      // 'kia'
normalizeBrandId('테슬라');    // 'tesla'

// 대문자 유지 브랜드 (BMW, MINI, PORSCHE)
normalizeBrandId('BMW');       // 'bmw'
normalizeBrandId('MINI');      // 'mini'
normalizeBrandId('PORSCHE');   // 'porsche'

// 메르세데스-벤츠 처리
normalizeBrandId('메르세데스-벤츠');  // 'mercedes-benz'
normalizeBrandId('벤츠');             // 'mercedes-benz'

getBrandNameKorean(brandId: string): string

(原始内容存档于2018-09-29) (英语). Firestore ID QQ.

import { getBrandNameKorean } from '@charzing/vehicle-utils';

getBrandNameKorean('hyundai');        // '현대'
getBrandNameKorean('mercedes-benz');  // '메르세데스-벤츠'
getBrandNameKorean('BMW');            // 'BMW'

getBrandNameEnglish(brandId: string): string

(原始内容存档于2018-09-29) (英语). Firestore ID QQ.

import { getBrandNameEnglish } from '@charzing/vehicle-utils';

getBrandNameEnglish('hyundai');  // 'HYUNDAI'
getBrandNameEnglish('bmw');      // 'BMW'
getBrandNameEnglish('mini');     // 'MINI'

2. 国家

normalizeModelId(model: string): string

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}请检查一下 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}.

import { normalizeModelId } from '@charzing/vehicle-utils';

// 한국어 → 영어 소문자
normalizeModelId('아이오닉 5');  // 'ioniq-5'
normalizeModelId('EV6');         // 'ev6'
normalizeModelId('Model S');     // 'model-s'

// 공백 → 하이픈 변환
normalizeModelId('쿠퍼');        // 'cooper'
normalizeModelId('Model 3');     // 'model-3'

getModelNameKorean(modelId: string): string

(原始内容存档于2018-09-29) (英语). Firestore ID QQ.

import { getModelNameKorean } from '@charzing/vehicle-utils';

getModelNameKorean('ioniq-5');   // '아이오닉 5'
getModelNameKorean('ev6');       // 'EV6'
getModelNameKorean('cooper');    // '쿠퍼'

getModelNameEnglish(modelId: string): string

(原始内容存档于2018-09-29) (英语). Firestore ID QQ.

import { getModelNameEnglish } from '@charzing/vehicle-utils';

getModelNameEnglish('ioniq-5');  // 'IONIQ-5'
getModelNameEnglish('model-s');  // 'MODEL-S'

3. URL 생성

generateVehicleImageUrl(params: ImageParams): string

(原始内容存档于2018-10-21). Firebase Survey. QQ URL.

import { generateVehicleImageUrl } from '@charzing/vehicle-utils';

// 기본 이미지 (트림 없음)
const url1 = generateVehicleImageUrl({
  brand: 'hyundai',
  model: 'ioniq-5',
  year: 2024
});
// → https://firebasestorage.googleapis.com/v0/b/charzing-d1600.firebasestorage.app/o/
//   vehicle-images%2FHYUNDAI%2FIONIQ-5%2F2024%2Fhyundai__ioniq-5__2024.png?alt=media

// 트림별 이미지
const url2 = generateVehicleImageUrl({
  brand: 'mini',
  model: 'cooper',
  year: 2025,
  trim: 'jcw'
});
// → https://firebasestorage.googleapis.com/v0/b/charzing-d1600.firebasestorage.app/o/
//   vehicle-images%2FMINI%2FCOOPER%2F2025%2Fmini__cooper__2025__jcw.png?alt=media

파라미터数字 :

interface ImageParams {
  brand: string;    // 브랜드 ID (예: 'hyundai', 'bmw')
  model: string;    // 모델 ID (예: 'ioniq-5', 'model-s')
  year: number;     // 연도 (예: 2024)
  trim?: string;    // 트림 ID (선택, 예: 'exclusive', 'jcw')
}

generateImageFilename(params: ImageParams): string

이미지.

import { generateImageFilename } from '@charzing/vehicle-utils';

// 기본 파일명
generateImageFilename({
  brand: 'tesla',
  model: 'model-s',
  year: 2024
});
// → 'tesla__model-s__2024.png'

// 트림 포함 파일명
generateImageFilename({
  brand: 'porsche',
  model: 'taycan',
  year: 2025,
  trim: 'turbo-gt'
});
// → 'porsche__taycan__2025__turbo-gt.png'

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

표준

{brandSlug}__{modelSlug}__{year}[__{trimSlug}].png

규칙

  1. 전부数字 : hyundai, (中文(简体) ), ioniq-5
  2. 단어: -(中文(简体) )
  3. 상위: __(中文(简体) )
  4. 修剪时数字 : tesla__model-3__2024.png

예시

✅ hyundai__ioniq-5__2024.png
✅ mini__cooper__2025__jcw.png
✅ tesla__model-3__2024__highland.png
✅ mercedes-benz__eqs__2024.png

❌ Hyundai_ioniq-5_2024.png    (대문자 사용)
❌ hyundai-ioniq-5-2024.png    (구분자 통일 안됨)
❌ hyundai_ioniq-5_2024.png    (단일 언더바)

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

charzing-vehicle-utils/
├── src/
│   ├── index.ts           # 메인 엔트리포인트
│   ├── brand.ts           # 브랜드 매핑 함수
│   ├── model.ts           # 모델 매핑 함수
│   ├── image.ts           # 이미지 URL 생성
│   └── types.ts           # TypeScript 타입 정의
├── dist/                  # 빌드 결과물 (ESM + CJS)
├── package.json
├── tsconfig.json
└── tsup.config.ts         # 빌드 설정

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

빌드

# 의존성 설치
npm install

# 개발 모드 (Watch)
npm run dev

# 프로덕션 빌드
npm run build

# 타입 검사
npm run type-check

# 린트
npm run lint

# 테스트
npm test

빌드

dist/
├── index.js       # CommonJS (require)
├── index.mjs      # ESM (import)
├── index.d.ts     # TypeScript 타입 정의
└── index.d.mts    # ESM 타입 정의

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

# 1. vehicle-utils 수정 후 재빌드
cd /Users/sungmin/charzing-vehicle-utils
npm run build

# 2. 각 프로젝트는 자동 반영됨 (npm link로 연결되어 있음)

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

# 1. 버전 업데이트
npm version patch  # 1.0.0 → 1.0.1

# 2. 빌드
npm run build

# 3. npm 배포
npm publish

# 4. 각 프로젝트에서 업데이트
cd /Users/sungmin/charzing-admin
npm update @charzing/vehicle-utils

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

说吧

1. 联合国. 魅力广告

  • 위치数字 : /Users/sungmin/charzing-admin
  • 사용: 차량 CRUD,이미지 URL 생성
  • 문서数字 : /Users/sungmin/charzing-admin/CLAUDE.md

2. 联合国. CharzingApp- Expo 游戏

  • 위치数字 : /Users/sungmin/CharzingApp-Expo
  • 사용:========================= ====================================================================================================================================================================================================================================
  • 문서数字 : /Users/sungmin/CharzingApp-Expo/CLAUDE.md

3个. 令人惊叹 (웹

  • 위치数字 : /Users/sungmin/Desktop/project/react/charzing
  • 사용예약:시스템也
  • 문서数字 : /Users/sungmin/Desktop/project/react/charzing/CLAUDE.md

QQ 类型脚本QQ

[永久失效連結] 腾讯网.

// 브랜드 매핑
export function normalizeBrandId(brand: string): string;
export function getBrandNameKorean(brandId: string): string;
export function getBrandNameEnglish(brandId: string): string;

// 모델 매핑
export function normalizeModelId(model: string): string;
export function getModelNameKorean(modelId: string): string;
export function getModelNameEnglish(modelId: string): string;

// 이미지 URL 생성
export interface ImageParams {
  brand: string;
  model: string;
  year: number;
  trim?: string;
}

export function generateVehicleImageUrl(params: ImageParams): string;
export function generateImageFilename(params: ImageParams): string;

⚠️

  1. 브랜드宝马,MINI,PORSCHEQQFISTORE QQ : : :
  2. 存储 URL数字 : charzing-d1600.firebasestorage.app (单位:千美元).appspot.com ❌
  3. 파일명页:1__구분자 사용
  4. npm 链接{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得怎样

📄

麻省理工学院


마지막页:1 버전(单位:千美元) 관리자翻译:

版本与发布记录

@charzing/vehicle-utils 共发布 23 个版本,首次发布于 2025/12/04;过去 12 个月发布了 23 个版本。

版本发布日期距今
0.12.0latest2026/11/018 天前
0.11.02026/10/319 天前
0.10.02026/10/319 天前
0.9.02026/10/3110 天前
0.8.02026/10/3010 天前
0.7.02026/10/2812 天前

关于 @charzing/vehicle-utils 的常见问题

@charzing/vehicle-utils 是什么?

在所有平台共享Charzing车辆数据管理水电(动态火炉绘图)

如何安装 @charzing/vehicle-utils?

在项目目录运行 npm install @charzing/vehicle-utils,或使用 pnpm add / yarn add / bun add。

@charzing/vehicle-utils 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@charzing/vehicle-utils 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@charzing/vehicle-utils 可以商用吗?

@charzing/vehicle-utils 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@charzing/vehicle-utils 的下载量有多少?

根据 npm 官方下载统计,@charzing/vehicle-utils 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,225 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@charzing/vehicle-utils 还在维护吗?

最新版本 0.12.0 发布于 2026/11/01(8 天前);至今共发布 23 个版本,其中过去 12 个月发布了 23 个;首次发布于 2025/12/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。