Skip to content

Embedded Examples ​

StackBlitz ​

Iframe ​

@stackblitz/sdk ​

embedProjectId に crossOriginIsolated: true を渡すと、URL への corp=1 付与と allow="cross-origin-isolated" の委譲を SDK がやってくれます。theme は VitePress のダークモードに追従します。

md
<StackBlitzEmbed project-id="vitejs-vite-g9mvnye1" open-file="src/App.tsx" />
prop既定値説明
project-id必須stackblitz.com/edit/<projectId> の projectId
open-fileなし最初に開くファイル。カンマ区切りで複数可
viewprevieweditor / preview / default(両方)
height500iframe の高さ
click-to-loadtrue「Run project」を押すまで WebContainer を起動しない
hide-navigationfalseプレビュー上部の URL バーを隠す
hide-explorerfalse左のアクティビティバーを隠す
terminal-heightなしターミナルの高さ(%)
start-scriptなし起動時に実行する npm script。未指定なら dev または start

Vue SFC Playground ​

Iframe ​

COOP/COEP の設定により表示できません

StackBlitz 埋め込みのために親ページに Cross-Origin-Embedder-Policy を付けているため、CORP/COEP を返さない play.vuejs.org の iframe はブラウザにブロックされ、空白になります。ページ内で動かす場合は下の @vue/repl を使ってください。

@vue/repl(単一ファイル・Monaco エディタ) ​

examples/Counter.vue を ?raw で文字列として読み込み、App.vue として渡しています。editor="monaco" で補完・型推論付きの Monaco エディタになります。

@vue/repl(複数ファイル・CodeMirror エディタ) ​

files に複数のファイルを渡すとタブで切り替えられます。App.vue がエントリーポイントになります。エディタは既定の CodeMirror です。

@vue/repl の使い方 ​

md
<script setup>
import counterCode from './examples/Counter.vue?raw'
</script>

<VuePlayground :files="{ 'App.vue': counterCode }" />
prop既定値説明
files必須ファイル名 → コード。App.vue が必須
editorcodemirrorcodemirror / monaco。Monaco はエディタのモデルがページ全体で共有されるため 1 ページに 1 つまで
layoutverticalhorizontal / vertical
layout-reversefalseプレビューを先に配置
show-outputtrueモバイル幅で最初にプレビューを表示
height560px全体の高さ
vue-versionなしサンドボックスで使う Vue のバージョン
show-compile-outputfalseJS / CSS のコンパイル結果タブを表示