【Wrangler(Cloudflare 的官方 CLI)和 npm/npx 的区别一次讲清】

下面这份速读指南,帮你把 Wrangler(Cloudflare 的官方 CLI)和 npm/npx 的区别一次讲清 👇

Wrangler 是什么?

Wrangler 是 Cloudflare Developer Platform 的命令行工具,用来本地开发、配置、部署与运维 Cloudflare Workers 及其配套服务(KV、R2、D1、Queues、Durable Objects、定时任务等)。自 v3 起,Wrangler 支持 wrangler.jsonc/.jsonwrangler.toml 两种配置格式;Cloudflare 现在更推荐用 JSONC (带注释的 JSON)创建新项目。(Cloudflare Docs)

Wrangler 的本地开发命令 wrangler dev 会在本地模拟 Workers 运行时(底层由 Miniflare/workerd 驱动),因此无需连网就能测试大部分能力。(Cloudflare Docs)


Wrangler 能做什么(核心能力一览)

  • 本地开发与调试wrangler dev 启动本地服务,热更新、断点/DevTools 调试、更贴近线上环境。(Cloudflare Docs)
  • 构建与部署wrangler deploy/wrangler publish 一键发布;也可用 版本化与预览 流程 wrangler versions upload/deploy,适合 CI 分支预览和渐进发布。(Cloudflare Docs)
  • KV(键值存储)管理 :创建命名空间、读写/删除键值:wrangler kv namespace createwrangler kv:key get/put/delete。(Cloudflare Docs)
  • R2(对象存储)管理 :创建 bucket、做基础对象操作,可用 Wrangler 或仪表盘。(Cloudflare Docs)
  • D1(SQLite 数据库)wrangler d1 create、迁移、查询等整套命令。(Cloudflare Docs)
  • Queues(消息队列) :创建、列出、订阅/消费者管理等:wrangler queues ...。(Cloudflare Docs)
  • Secrets & 环境变量 :通过 wrangler secret put/delete 管理密钥(密文),配合 .dev.vars 做本地仿真。(Cloudflare Docs, docs.astro.build)
  • 日志与可观测性wrangler tail 拉取在线日志,或配置 Tail Worker 做高级处理。(Cloudflare Docs)
  • Pages Functions / 多框架集成 :Wrangler 也用于 Pages Functions 的本地/预览配置。(Cloudflare Docs)

小提示:若你的项目目录里同时wrangler.tomlwrangler.json/jsonc,容易"读错配置"。可以用全局参数 --config <path> 明确指定要用哪一个;或者只保留一种配置以避免歧义。(Cloudflare Docs)


典型工作流(上手就用)

  1. 登录
bash 复制代码
npx wrangler@latest login
  1. 本地开发
bash 复制代码
npx wrangler@latest dev

(需要特定配置文件时)

bash 复制代码
npx wrangler@latest dev --config wrangler.toml

(Cloudflare Docs)

  1. 创建并绑定存储
bash 复制代码
# KV
npx wrangler kv namespace create MY_KV
# D1
npx wrangler d1 create my_db
# R2
npx wrangler r2 bucket create my-bucket

把创建结果(如 namespace/bucket id)写入你的 wrangler 配置后即可在代码里通过绑定访问。(Cloudflare Docs)

  1. 管理密钥(不要写进配置文件)
bash 复制代码
npx wrangler secret put API_KEY

(本地开发还可在项目根加 .dev.vars)(Cloudflare Docs, docs.astro.build)

  1. 部署 / 预览
bash 复制代码
# 直接部署
npx wrangler deploy
# 提交"版本"并生成预览(CI 常用)
npx wrangler versions upload

(Cloudflare Docs)

  1. 查看线上日志
bash 复制代码
npx wrangler tail

(Cloudflare Docs)


npm vs npx 有什么区别?

  • npm(Node 包管理器)

    • 负责安装/管理依赖 ,比如 npm install wrangler -D 把 wrangler 装进项目的 devDependencies。
    • 也能执行本地项目里的可执行脚本:npm exec wrangler dev(等价于 npx wrangler dev)。(docs.npmjs.com)
  • npx(npm 附带的执行器)

    • 用来直接运行一个 npm 包 ,即使它没被全局或本地安装:npx wrangler@latest dev
    • 适合 一次性运行 最新版本的 CLI,避免全局安装后版本老化;npm v7+ 里也有类似的 npm exec / npm dlx(一次性执行,不写入依赖)。(docs.npmjs.com)

选用建议:

  • 想"装一次,团队共享版本 ":用 npm i -D wrangler,再在 package.json 脚本里写 "dev": "wrangler dev"
  • 想"临时用最新 ":用 npx wrangler@latest ... 即开即用。(docs.npmjs.com)

迷你备忘单(复制就能用)

bash 复制代码
# 登录 / 退出
npx wrangler@latest login
npx wrangler@latest logout

# 本地开发(指定配置文件)
npx wrangler@latest dev --config wrangler.jsonc

# 部署 / 版本化预览
npx wrangler@latest deploy
npx wrangler@latest versions upload

# 绑定与资源
npx wrangler@latest kv namespace create MY_KV
npx wrangler@latest d1 create my_db
npx wrangler@latest r2 bucket create my-bucket

# 密钥
npx wrangler@latest secret put API_KEY

# 日志
npx wrangler@latest tail

(Cloudflare Docs)

相关推荐
酒尘&4 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
学历真的很重要4 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569155 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569155 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
大怪v6 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
狂炫冰美式7 小时前
不谈技术,搞点文化 🧀 —— 从复活一句明代残诗破局产品迭代
前端·人工智能·后端
xw57 小时前
npm几个实用命令
前端·npm
!win !7 小时前
npm几个实用命令
前端·npm
代码狂想家7 小时前
使用openEuler从零构建用户管理系统Web应用平台
前端
dorisrv9 小时前
优雅的React表单状态管理
前端