Nuxt(Vue) 2 ã ãã© script setup 使ã£ãããä½é¨è¯ãã£ã
QIita - Nuxt.jsã¢ããã³ãã«ã¬ã³ãã¼2021 ã®5æ¥ç®è¨äºã§ããï¼ã¡ããã©ãã¿ããã£ãã®ã§æç¨¿ãã¦ã¿ã¾ããï¼
çµè«ãã試ãã§ãã Vue / Nuxt 2 ç°å¢ããã£ãããunplugin-vue2-script-setupãå°å
¥ããã¨ããæè»½ã«<script setup>ãä½é¨ã§ããããã¨ãã話ãã§ãã
<script setup> ã«ã¤ãã¦ã¯ã次ã®è¨äºããããããããã¨æãã¾ãã
Nuxt 2.x ç°å¢ã§ script setup ãå©ç¨å¯è½ã«ãã
- Nuxt.js 2.x
@nuxt/content-> Content とは - Nuxt Content@nuxtjs/composition-api-> Nuxt Composition API
ã使ã£ã¦ã次ã®ããã°ãä½ãã¾ããã
- zaki-blog
- ãªãã§ããã°ä½ã£ããã¯ãã¡ã -> @nuxt/content でブログつくった という近況報告 - ざきの学習帳(旧 zackey推し )
Vue 3 ããå©ç¨ã§ãã <script setup> ãç´ æ¯ããããã¨æããunplugin-vue2-script-setup ãå°å
¥ãã¦ã¿ã¾ããã
å°å ¥ããéã®ããã£ããã¨ã¯ãã¡ã -> Vue / Nuxt 2系で <script setup> を使用するには unplugin-vue2-script-setup を導入する
<script setup>ä¿®æ£åå¾ã® diff

ç°¡åãªä¾ã§ããã赤æ ã® PostDateTime.vue ã script setup æ§æã«å¤ãã¦ã¿ãã¨ãããæ¬¡ã®ããã«ãªãã¾ããã by å
ã®ã³ããã ->
refactor: PostDateTime.vue を script setup に · zakizaki-ri9/blog@2c94d71 · GitHub
-<script lang="ts"> -import { defineComponent } from '@nuxtjs/composition-api' +<script setup lang="ts"> import dayjs from 'dayjs' type Props = { postedAt: string } +const { postedAt } = defineProps({ + postedAt: { + type: String, + required: true, + }, +}) const format = (datetime?: string) => { return datetime ? dayjs(datetime).format('YYYY-MM-DD') : undefined } -export default defineComponent({ - props: { - postedAt: { - type: String, - required: true, - }, - }, - setup({ postedAt }: Props) { - return { formatedPostedAt: format(postedAt) } - }, -}) +const formatedPostedAt = format(postedAt) </script>
PostDateTime.vueã¯æ¥ä»ã表示ããã ãã®ç°¡åãªã³ã³ãã¼ãã³ãã§ãããdefineComponentå
ã«ãã¹ãããè¨è¿°ãä¸è¦ã¨ãªããè¦éããè¯ããªã£ãã®ãããããã¨æãã¾ãã
ããã
å¹´æ«å¹´å§ã« Vue / Nuxt 3 ã«è§¦ãã¦ã¿ããã¨ããæ¹ããã Vue / Nuxt 2 ç°å¢ä¸ã§è©¦ãããªãã¸ããªãããã° unplugin-vue2-script-setup ãå°å
¥ãã<script setup>ã触ã£ã¦ã¿ã¦ã¯ãããã§ããããã