Skip to content

Commit

Permalink
chore: remove import.meta.server in template (#67)
Browse files Browse the repository at this point in the history
  • Loading branch information
ubugeeei authored Sep 6, 2024
1 parent 17e2fb9 commit e5d98f5
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default defineNuxtRouteMiddleware(() => {
console.log('hello-foo')
})
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
export default defineNuxtRouteMiddleware((to) => {
// FIXME: import . meta . server が置換されてしまう
if (import.meta.server)
// import.meta を利用した分岐でも OK
if (!window?.localStorage)
return

const isSignedIn = JSON.parse(localStorage.getItem('isSignedIn') || 'false')
const isSignedIn = JSON.parse(window.localStorage.getItem('isSignedIn') || 'false')

if (!isSignedIn && to.path !== '/') {
return navigateTo('/')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
<script setup lang="ts">
definePageMeta({
middleware: ['hello-foo'],
})
</script>

<template>
<h1>Foo</h1>
<NuxtLink to="/">
Expand Down
5 changes: 3 additions & 2 deletions content/2.concepts/5.middleware/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,12 @@ definePageMeta({

これらのミドルウェアは、クライアント上でのナビゲーション時はもちろん、SSR または SSG でのページ生成時にもサーバーサイドで実行されます。\
ミドルウェアでローカルストレージなどのクライアントサイドの API を使用する場合は、クライアントサイドのみで実行されるようにする必要があります。\
`import.meta` を使うことで実行している環境を判定することができます。サーバーサイドでの実行スキップする場合は `import.meta.server` を利用します。
`import.meta` を使うことで実行している環境を判定することができます。
サーバーサイドでの実行スキップする場合は `import.meta.server` を利用します。

```ts
export default defineNuxtRouteMiddleware((to) => {
// skip middleware on server
// skip middleware on server (if (import.meta.client) { ... } でも同様)
if (import.meta.server)
return

Expand Down

0 comments on commit e5d98f5

Please sign in to comment.