quokka.js 是将编辑器变为实时 repl 的 javascript 插件,支持单行执行、变量追踪、await 请求及 //? 快照功能,开箱即用,无需配置,反馈延迟低于 300ms,显著提升开发乐趣与效率。

Quokka.js 是目前最直接提升 JavaScript 开发乐趣的插件,没有之一。它不是“辅助工具”,而是把编辑器变成一个实时 REPL——你敲一行,它立刻跑一行,还把结果、变量值、执行路径全标在旁边,写逻辑验证、调试小片段、学新语法时几乎不用切浏览器或终端。
Quokka.js 怎么开箱即用
装完插件后,不需要改任何配置就能工作:
- 新建文件时按
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Quokka: New JavaScript File回车,就生成一个带实时反馈的.js文件 - 也可以直接在已有
.js或.ts文件里右键选择Start on Current File - 支持
console.log()、debugger、甚至await表达式——比如写await fetch('/api').then(r => r.json()),它真会发请求并显示结果
为什么不用 Code Runner 替代 Quokka
Code Runner 虽然也支持 JS,但它是“运行整个文件 + 输出到终端”,和 Quokka 的行内实时反馈有本质区别:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
-
Code Runner不支持单行表达式求值,也不显示中间变量状态 - 它默认不加载当前项目里的
node_modules,遇到import { debounce } from 'lodash'会报Cannot find module - 没有快照(snapshot)功能,没法对比修改前后的值变化——而 Quokka 的
//? $0注释能自动追踪变量演化
搭配使用时容易踩的坑
Quokka 强大,但几个默认行为容易让人困惑:
- 它默认只对“活动文件”生效;如果开了多个 tab,切换 tab 后旧文件的 Quokka 实例会暂停——不是 bug,是设计,避免资源占用
- 在 TypeScript 文件里,若没配
tsconfig.json或用了非标准路径别名(如@/utils),import会失败,此时得在quokka.js配置里加compilerOptions.moduleResolution - 异步代码里写
console.log可能被吞掉——推荐用//? console.log(x)这种 Quokka 特殊注释语法,确保输出可见
真正让 JS 开发变“好玩”的,不是功能堆砌,而是反馈延迟低于 300ms。Quokka 做到了这点,其余插件再炫酷也只是锦上添花。它的代价是内存略高,如果你同时开着 10 个 Quokka 实例,确实会拖慢——关掉不用的 tab 就行,别让它在后台空跑。










