# 常见问题 FAQ

URL: https://caijiao.org/bun/appendix/faq
Source: docs/bun/appendix/faq.md
Description: 本章节回答了关于 Bun 的常见问题，帮助开发者解决在使用过程中可能遇到的常见困惑与问题。

在本章节中，我们将解答一些关于 [Bun](/bun/) 的常见问题，帮助开发者解决在使用过程中可能遇到的困惑与挑战。

## 1. Bun 与 Node.js 有何区别？

Bun 是一个新兴的 [JavaScript](/javascript/) 运行时，相比于 Node.js，Bun 更注重性能和快速启动。Bun 内建了现代化的工具链，如构建、打包、类型检查等，旨在提供更高效的开发体验。

## 2. 如何安装 Bun？

Bun 可以通过以下命令进行安装：

```bash
curl -fsSL https://bun.sh/install | bash
````

安装完成后，使用 `bun --version` 检查是否成功安装。

## 3. Bun 支持哪些模块格式？

Bun 支持多种模块格式，包括 ES Modules（.mjs、.js）和 CommonJS（.cjs）。同时，Bun 也支持 TypeScript 和 JSX/TSX 文件格式。

## 4. 如何将项目从 Node.js 迁移到 Bun？

将项目从 Node.js 迁移到 Bun 通常涉及以下步骤：

* 安装 Bun 并替换现有的 `npm` 或 `yarn` 命令。
* 解决与 Bun 不兼容的 Node.js 特性。
* 调整项目配置文件以支持 Bun 的特性（如 `bunfig.toml`）。

## 5. Bun 是否支持 TypeScript？

是的，Bun 原生支持 TypeScript，无需额外的编译步骤。你可以直接运行 TypeScript 文件，Bun 会自动进行编译。

## 6. 使用 Bun 构建项目时，如何进行性能优化？

Bun 本身就包含了很多性能优化功能，例如内置的资源压缩和智能缓存。你可以通过调整构建配置文件（如 `bunfig.toml`）来进一步优化构建过程。

## 7. Bun 是否兼容所有 Node.js 库？

虽然 Bun 提供了与 Node.js 的高度兼容性，但并非所有 Node.js 库都能在 Bun 中正常工作，特别是一些依赖底层系统模块的库。可以通过查看 [Bun 的兼容性列表](https://bun.sh/docs) 来了解更多信息。

## 8. 如何参与 Bun 的开源贡献？

Bun 是一个开源项目，你可以通过 [Bun GitHub 仓库](https://github.com/oven-sh/bun) 参与贡献。你可以提交 bug 报告、功能请求，甚至为项目贡献代码。

## 9. Bun 是否适合生产环境？

Bun 已经在多个生产环境中得到了使用，但由于它是一个相对较新的工具，建议在大规模项目中使用时进行充分的测试，以确保其稳定性和兼容性。

## 10. 总结

通过解答这些常见问题，我们希望能帮助开发者快速上手 Bun，解决一些初期的困惑。如果你遇到其他问题，可以参考 [官方文档](https://bun.sh/docs) 或参与社区讨论。
