跳到主要内容

Vue 3 在线运行工具

在线编写并实时预览 Vue 3 组件,模板、脚本、样式分栏编辑,改完立即看到渲染结果。

实时预览Vue 3 运行时 · 第 0 次渲染
控制台

组件里的 console.log 与运行时报错会显示在这里。

复制出来的是单文件版,用浏览器直接打开就能跑

跑的是 Vue 3 的浏览器运行时(含模板编译器),写法与单文件组件里的 <script setup> 基本一致,区别是这里用全局的 Vue 对象取 API。

模板、脚本、样式三栏合起来才是一份组件;预览在沙箱 iframe 里,与本站页面互相看不见。

不支持 import 语句和第三方组件库——需要这些请在本地项目里跑。

这个工具是什么

Vue 3 在线运行工具把一份组件拆成「模板 / 脚本 / 样式」三栏,左边写完右边立刻渲染。跑的是 Vue 官方的浏览器运行时(带模板编译器),写法与单文件组件里的 <script setup> 非常接近,区别只是通过全局的 Vue 对象取 API。

适合在不想起本地项目的场合验证一个组件的写法:响应式数据怎么更新、computed 什么时候重算、指令用对没有。

什么时候用它

  1. 验证 ref 与 reactive 在某个场景下的更新行为,比如解构后为什么丢了响应式。
  2. 调试 v-for 的 key、v-model 修饰符、动态组件的写法。
  3. 试 computed 与 watch 的触发时机,用 console.log 观察执行顺序。
  4. 给同事演示一个最小的复现场景,把「复制完整 HTML」的结果发过去,对方用浏览器打开就能跑。
  5. 调一个小交互的样式,改 CSS 立即看到效果。

有什么限制

  • 脚本栏写的是 setup() 的函数体,需要自己 return 出模板要用的变量。
  • 不支持 import 语句,也不能引入第三方组件库或 Pinia、Vue Router。
  • 模板里用的是运行时编译,所以 <script setup> 的编译期语法糖(如 defineProps 的宏)不适用。
  • 预览在沙箱 iframe 里,脚本访问不到本站页面的任何数据,也因此无法发起需要同源凭据的请求。
  • 引用的 Vue 运行时取自本站打包的版本,与最新版官方 CDN 可能有小版本差异。

常见问题

Q:为什么我写的 const { count } = toRefs(state) 之后模板不更新? A:这类响应式丢失问题正好可以在控制台里用 console.log 验证。检查是否用了解构普通对象而不是 toRefs,或是否在 setup 外修改了数据。

Q:能直接粘贴一个 .vue 单文件组件吗? A:不能。这里按三栏拆分,请把 <template>、<script setup>、<style> 里的内容分别贴进对应栏,并把 <script setup> 里的顶层声明放进脚本栏。

Q:预览里的报错看不到行号? A:iframe 跨源拿不到完整的堆栈信息,控制台会给出错误消息与行号提示。定位不准时可以分段注释脚本栏来缩小范围。

Q:能装 Element Plus 之类的组件库吗? A:不能。需要第三方库的场景请在本地项目里调试。

相关工具

同类或常用搭配,接着往下做