# 5to6-codemod 中文文档

规范地址：https://npmcn.com/package/5to6-codemod/

版本：1\.8\.0
npm 元数据更新时间：2022-06-12T14:08:14.628Z
中文译文更新时间：2026-11-05T18:47:26.888Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/5to6-codemod
原文对照：https://npmcn.com/package/5to6-codemod/?lang=original
项目主页：https://github.com/5to6/codemod#readme
源码仓库：https://github.com/5to6/codemod

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：76 kB，72 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：3 个
- 首次发布：2016-01-02T15:50:57.573Z
- 最新版本发布：2019-04-01T18:56:57.404Z
- 近 30 天下载量：55922（2026-10-04 至 2026-11-02，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 0 个）

## 中文简介

一个代码集,可以让你的js代码从ES5转换为ES6.

## 安装

```sh
npm install 5to6-codemod
```

也可以使用：`pnpm add 5to6-codemod`、`yarn add 5to6-codemod`、`bun add 5to6-codemod`

## README

[![Build Status](https://travis-ci.org/5to6/5to6-codemod.svg)](https://travis-ci.org/5to6/5to6-codemod) [![GitHub version](https://img.shields.io/github/tag/5to6/5to6-codemod.svg)](https://github.com/5to6/5to6-codemod) [![NPM version](https://img.shields.io/npm/v/5to6-codemod.svg)](https://www.npmjs.com/package/5to6-codemod) [![Downloads](https://img.shields.io/npm/dm/5to6-codemod.svg)](https://www.npmjs.com/package/5to6-codemod)

# 5to6-编码模式

收集资料 [代码](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) 它允许您将您的 JavaScript 代码从 ES5 转换为 ES6 使用 [j 代码转换](https://github.com/facebook/jscodeshift)。 。 。 .

## 使用量

1.  `npm install -g jscodeshift`
2.  `npm install 5to6-codemod`
3.  `jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files]`
4.  通过 `git diff`保持你想要的, 扔出去 如果你不这样做。 魔术!

## 选项旗

执行代码模块时,您可以配置这样的选项:

`jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files] --key=value`

### 重置选项

我们的变换会自动区分,并通过重制配置密钥通过 [j 代码转换](https://github.com/facebook/jscodeshift#passing-options-to-recast)。可以找到重播配置的官方文档 [这里](https://github.com/benjamn/recast/blob/4899a70d4b9aeec9c599065be3338464b7047767/lib/options.js#L1)。我们目前支持以下重置密钥:

-   `esprima`
-   `inputSourceMap`
-   `lineTerminator`
-   `quote`
-   `range`
-   `reuseWhitespace`
-   `sourceFileName`
-   `sourceMapName`
-   `sourceRoot`
-   `tabWidth`
-   `tolerant`
-   `trailingComma`
-   `useTabs`
-   `wrapColumn`

## 变换

-   `amd` - 将AMD样式模块转换为ES6 `import`编号 :`export`
-   `cjs` - 变形常见JS风格 `require()` 拨打ES6电话 `import` 声明
    -   此转换接受以下选项旗:
        -   `hoist`: 启用向上悬挂需要的语句
-   `no-strict` - 删除“严格使用”语句
-   `exports` - 移动通用JS样式 `module.exports` 对ES6的发言 `export` 声明
-   `named-export-generation` - 添加对应于默认导出对象密钥的命名导出 。 只对作为默认导出对象的 ES6 模块有效 .
-   `let` - 全部替换 `var` 调用 `let`
-   `simple-arrow` - 将所有函数表达式替换为唯一返回语句的正文为箭头函数

## 已知问题

-   无法自动解析何时要使用 `import * as varName`。 。 。 .
-   在许多情况下,最后的评论也缺失
-   `simple-arrow` 在函数表达式正文中丢失注释

## 常见问题

### 5to6-codemod 是什么？

一个代码集,可以让你的js代码从ES5转换为ES6\.

### 如何安装 5to6-codemod？

在项目目录运行 npm install 5to6-codemod，或使用 pnpm add / yarn add / bun add。

### 5to6-codemod 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/5to6-codemod 是否存在。

### 5to6-codemod 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### 5to6-codemod 可以商用吗？

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

### 5to6-codemod 的下载量有多少？

根据 npm 官方下载统计，5to6-codemod 在 2026/10/04 – 2026/11/02 这 30 天内被下载 55,922 次，日均约 1,864 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### 5to6-codemod 还在维护吗？

最新版本 1\.8\.0 发布于 2019/04/02（7 年前）；至今共发布 14 个版本，其中过去 12 个月发布了 0 个；首次发布于 2016/01/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

