Open6
Cloudflare Pages × Nuxt3を試す
Cloudflare PagesにNuxt3で作ったアプリケーションをデプロイしたい
SG(Static Generation)で試す。
Install
npx nuxi init
で新規作成する。
app.vueを下記のように変更。
app.vue
<template>
<div>
<NuxtPage />
</div>
</template>
Dynamic Routes も試してみたいので、下記のようなファイルも追加。
pages/index.vue
<script setup lang="ts">
const id = ref("1");
</script>
<template>
<div>
<div>
<input v-model="id" />
</div>
<div>
<NuxtLink :href="`/slug/${id}`">to slug</NuxtLink>
</div>
<NuxtLink to="/about">ABOUT</NuxtLink>
</div>
</template>
pages/slug/[id].vue
<script setup lang="ts">
const { params } = useRoute();
</script>
<template>
<div>
<p>userid:{{ params.id }}</p>
<div>
<NuxtLink href="/">to home</NuxtLink>
</div>
</div>
</template>
pages/about.vue
<template>
<div>
<div>about pageだよ</div>
<div>
<NuxtLink href="/">to home</NuxtLink>
</div>
</div>
</template>
デプロイ
GitHub連携をした後下記のように設定して、デプロイする。
(nuxt generate
で生成されるhtml群が.output/public
にあるため)
ssr: false
でデプロイした場合
URLを直接入力しても、該当のページに遷移することができる。
slug/[id]
も問題なく表示できる。
が、レスポンスは404で返される。
ssr: true
でデプロイした場合
URLを直接入力しても、該当のページに遷移することができる。
slug/[id]
も問題なく表示できる。
レスポンスもちゃんと200で返される。
成果物