Skip to content

Commit baf0b76

Browse files
committed
refactor(sfc-playground): default to dev mode
1 parent 38706e4 commit baf0b76

File tree

2 files changed

+29
-24
lines changed

2 files changed

+29
-24
lines changed

packages/sfc-playground/src/App.vue

+18-13
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,17 @@ const setVH = () => {
2626
window.addEventListener('resize', setVH)
2727
setVH()
2828
29-
const useDevMode = ref(true)
29+
const useProdMode = ref(false)
3030
const useSSRMode = ref(false)
3131
3232
let hash = location.hash.slice(1)
3333
if (hash.startsWith('__DEV__')) {
3434
hash = hash.slice(7)
35-
useDevMode.value = true
35+
useProdMode.value = false
36+
}
37+
if (hash.startsWith('__PROD__')) {
38+
hash = hash.slice(8)
39+
useProdMode.value = true
3640
}
3741
if (hash.startsWith('__SSR__')) {
3842
hash = hash.slice(7)
@@ -41,7 +45,7 @@ if (hash.startsWith('__SSR__')) {
4145
4246
const store = new ReplStore({
4347
serializedState: hash,
44-
productionMode: !useDevMode.value,
48+
productionMode: useProdMode.value,
4549
defaultVueRuntimeURL: import.meta.env.PROD
4650
? `${location.origin}/vue.runtime.esm-browser.js`
4751
: `${location.origin}/src/vue-dev-proxy`,
@@ -56,15 +60,15 @@ const store = new ReplStore({
5660
// enable experimental features
5761
const sfcOptions: SFCOptions = {
5862
script: {
59-
inlineTemplate: !useDevMode.value,
60-
isProd: !useDevMode.value,
63+
inlineTemplate: useProdMode.value,
64+
isProd: useProdMode.value,
6165
propsDestructure: true
6266
},
6367
style: {
64-
isProd: !useDevMode.value
68+
isProd: useProdMode.value
6569
},
6670
template: {
67-
isProd: !useDevMode.value
71+
isProd: useProdMode.value
6872
}
6973
}
7074
@@ -73,18 +77,19 @@ watchEffect(() => {
7377
const newHash = store
7478
.serialize()
7579
.replace(/^#/, useSSRMode.value ? `#__SSR__` : `#`)
76-
.replace(/^#/, useDevMode.value ? `#__DEV__` : `#`)
80+
.replace(/^#/, useProdMode.value ? `#__PROD__` : `#`)
7781
history.replaceState({}, '', newHash)
7882
})
7983
80-
function toggleDevMode() {
81-
const dev = (useDevMode.value = !useDevMode.value)
84+
function toggleProdMode() {
85+
const isProd = (useProdMode.value = !useProdMode.value)
8286
sfcOptions.script!.inlineTemplate =
8387
sfcOptions.script!.isProd =
8488
sfcOptions.template!.isProd =
8589
sfcOptions.style!.isProd =
86-
!dev
90+
isProd
8791
store.toggleProduction()
92+
store.setFiles(store.getFiles())
8893
}
8994
9095
function toggleSSR() {
@@ -109,10 +114,10 @@ onMounted(() => {
109114
<template>
110115
<Header
111116
:store="store"
112-
:dev="useDevMode"
117+
:prod="useProdMode"
113118
:ssr="useSSRMode"
114119
@toggle-theme="toggleTheme"
115-
@toggle-dev="toggleDevMode"
120+
@toggle-prod="toggleProdMode"
116121
@toggle-ssr="toggleSSR"
117122
@reload-page="reloadPage"
118123
/>

packages/sfc-playground/src/Header.vue

+11-11
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ import VersionSelect from './VersionSelect.vue'
1212
1313
const props = defineProps<{
1414
store: ReplStore
15-
dev: boolean
15+
prod: boolean
1616
ssr: boolean
1717
}>()
1818
const emit = defineEmits([
1919
'toggle-theme',
2020
'toggle-ssr',
21-
'toggle-dev',
21+
'toggle-prod',
2222
'reload-page'
2323
])
2424
@@ -90,11 +90,11 @@ function toggleDark() {
9090
</VersionSelect>
9191
<button
9292
title="Toggle development production mode"
93-
class="toggle-dev"
94-
:class="{ dev }"
95-
@click="$emit('toggle-dev')"
93+
class="toggle-prod"
94+
:class="{ prod }"
95+
@click="$emit('toggle-prod')"
9696
>
97-
<span>{{ dev ? 'DEV' : 'PROD' }}</span>
97+
<span>{{ prod ? 'PROD' : 'DEV' }}</span>
9898
</button>
9999
<button
100100
title="Toggle server rendering mode"
@@ -195,20 +195,20 @@ h1 img {
195195
display: flex;
196196
}
197197
198-
.toggle-dev span,
198+
.toggle-prod span,
199199
.toggle-ssr span {
200200
font-size: 12px;
201201
border-radius: 4px;
202202
padding: 4px 6px;
203203
}
204204
205-
.toggle-dev span {
206-
background: var(--purple);
205+
.toggle-prod span {
206+
background: var(--green);
207207
color: #fff;
208208
}
209209
210-
.toggle-dev.dev span {
211-
background: var(--green);
210+
.toggle-prod.prod span {
211+
background: var(--purple);
212212
}
213213
214214
.toggle-ssr span {

0 commit comments

Comments
 (0)