当前位置: 首页 > news >正文

【前端】Bun:快速上手

Bun 是一个超快的 JavaScript 全栈工具链,集成了包管理器、构建器、运行时和开发服务器。

一、环境准备与工具安装

1.1 系统要求

  • 操作系统:Windows 10/11
  • 终端工具:PowerShell / Windows Terminal
  • 可选工具:Git(用于版本控制)

1.2 安装 Bun

# 执行安装脚本(无需管理员权限)
powershell -c "irm bun.sh/install.ps1 | iex"# 验证安装
bun --version

1.3 卸载 Bun

# 从系统中移除 Bun
> powershell -c ~\.bun\uninstall.ps1

二、项目初始化

2.1 创建基础结构

# 创建项目目录
mkdir bun-ts-app && cd bun-ts-app# 初始化项目, 本教程不需要, 采用手动创建
bun init

下面是你要求的统一结构整理方式,适用于文档章节,例如 tsconfig.jsonpackage.json 的讲解:


2.2 配置 TypeScript(tsconfig.json

tsconfig.json 是 TypeScript 的配置文件,用于定义编译选项。虽然 Bun 默认支持 TypeScript,但该文件可以提供更严格的类型检查规则,并帮助编辑器理解代码结构。

{"compilerOptions": {"target": "ESNext","module": "ESNext","moduleResolution": "bundler","strict": true,"noEmit": true}
}
字段名含义说明
target输出的 JavaScript 版本(这里为 ESNext,启用最新语法)
module输出的模块系统(ESNext,使用原生 import/export
moduleResolution模块解析策略,bundler 表示使用 Bun 的内置解析器
strict启用严格模式(包括 noImplicitAnystrictNullChecks 等)
noEmit不输出 .js 文件,构建输出由 bun build 控制

2.3 定义运行脚本(package.json

package.json 是项目的元数据和脚本命令入口。Bun 兼容 Node 风格,因此可以使用 scripts 字段定义常用的运行与构建命令,统一前后端开发流程。

{"scripts": {"dev:frontend": "bun dev frontend/index.html","build:frontend": "bun build frontend/index.html --outdir dist/frontend","dev:backend": "bun run backend/server.ts","build:backend": "bun build backend/server.ts --compile --outfile dist/backend/server"}
}
脚本名命令作用
dev:frontend启动 Bun 的开发服务器,监听 HTML 和 TS 文件变化,实时更新页面
build:frontend打包前端 HTML 和 TS 到 dist/frontend 目录
dev:backend直接运行后端 server.ts 脚本,适用于本地开发调试
build:backend将后端服务编译为原生可执行文件,输出到 dist/backend/server
参数名含义说明
bun dev启动内置开发服务器,支持热重载
bun build构建并打包项目,支持前端文件合并和后端编译
--outdir指定输出目录(用于前端)
--compile编译为原生可执行文件(用于后端)
--outfile指定输出文件路径名(用于后端)

2.4 目录结构

bun-ts-app/
├── frontend/     # 前端代码
├── backend/      # 后端代码
├── dist/         # 构建产物
├── tsconfig.json
└── package.json

三、前端开发实践

3.1 编写基础代码

<!-- frontend/index.html -->
<script type="module" src="./main.ts"></script><!-- frontend/main.ts -->
document.getElementById('greeting')!.textContent = 'Hello Bun!';

3.2 开发与构建

# 启动开发服务器(带热更新)
bun run dev:frontend# 生产环境构建
bun run build:frontend

四、后端开发实践

4.1 编写服务端

// backend/server.ts
import { serve } from "bun";serve({port: 3000,fetch: () => new Response("Bun Server Running")
});

4.2 运行与编译

# 开发模式运行
bun run dev:backend# 编译为独立可执行文件
bun run build:backend

五、依赖管理指南

5.1 安装第三方库

# 前端库
bun add axios lodash# 后端库
bun add sqlite3

5.2 前端使用示例

// frontend/main.ts
import axios from 'axios';axios.get('/api/data').then(res => {console.log('Received:', res.data);
});

5.3 后端使用示例

// backend/server.ts
import Database from 'sqlite3';const db = new Database.Database(':memory:');
db.run("CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT)");

六、项目构建结果

6.1 最终结构

bun-ts-app/
├── frontend/
│   ├── index.html
│   └── main.ts
├── backend/
│   └── server.ts
├── dist/
│   ├── frontend/  # 打包后的静态资源
│   └── backend/   # 编译后的可执行文件
└── package.json

6.2 关键优势

  • 零配置:无需 Webpack/Vite 等构建工具
  • 全栈统一:前后端共用同一工具链
  • 高性能:Bun 的启动速度比传统工具快 5-10 倍

相关文章:

  • WebStorm 高效快捷方式全解析
  • ⽂件上传⿊名单限制绕过方法
  • 如何在STM32CubeMX下为STM32工程配置调试打印功能
  • android设计——功能临时开启与永久管控
  • 穿屏技巧:Mac-Windows一套鼠标键盘控制多台设备 (sharemouse6.0-Keygen)| KM-401A
  • 相机坐标系、图像坐标系和世界坐标系
  • 豆瓣的 PyPI 源关闭后替代方案
  • 博弈论(巴什、nim、......SG打表)
  • 数据集YOLO格式转换COCO格式
  • 计算机图形学:(三)MVP变换扩展
  • 初识 Flask 框架
  • 详解MySQL锁机制
  • 七彩喜适老化改造:让每个空间成为长者尊严的守护者
  • 广东省省考备考(第十八天5.23)—言语:语句排序题(听课后强化训练)
  • 基于大模型的股骨干骨折全周期预测与诊疗方案研究报告
  • 【MySQL成神之路】MySQL索引相关介绍
  • C++性能测试工具——sysprof的使用
  • FRP技术概览
  • 注册并创建一个微信小程序
  • git初始化及操作指南
  • 杭州有哪些做网站的公司好/深圳百度关键
  • 提供网站制作公司电话/教育培训机构十大排名
  • 深圳做兼职的网站/百度推广时间段在哪里设置
  • 百度搜索入口官网/网络推广seo公司
  • ps怎么做网站模板/网站浏览器
  • 网站建站如何做seo/关键字查找