nuxt-ts day2:ESlint / 型チェックなど
2020-12-01
# advent

2日目。

ESlint とは

  • ESLint は JavaScript のための静的検証ツール
  • コードを実行する前に明らかなバグを見つけたり、括弧やスペースの使い方などのスタイルを統一したりするのに役立つ

nuxtだとデフォルトで良い感じの設定がされているようだ。

extends: [
    '@nuxtjs/eslint-config-typescript',
    'plugin:nuxt/recommended'
  ],

試しにvscodeの拡張機能で有効化してみたら10件以上の指摘があったので直した。たしかにこれは綺麗なコードになりますね。

Prettier とは

  • コードフォーマッター(ソースコード を整形してくれるツール)のこと。
  • コードの整形は Prettier が行い、コードの構文チェックは ESLint が行うように併用するのが良いらしい。

型チェック

じゃあ型チェックはどうやってやればいいのか。

<script lang="ts">
import { defineComponent, ref } from '@vue/composition-api'

interface User {
  firstName: string
  lastName: string
}

export default defineComponent({
  setup () {
    const UserObj = ref<User>({
      firstName: 'ai',
      lastName: 'ueo'
    })
    return {
      UserObj
    }
  }
})
</script>

これで firstName に string 以外入れたらエラー出るようになった。

componentの呼び出し元、呼び出し先、どちらでも型チェックをしなきゃなのかな?もう少し上手いやりかたがありそうだが。

CompositionAPI の文法

基本的な動作を CompostionAPI + ts で書いていこう。

setup () {
    const state = reactive({
      message: 'test message !' as string
    })
    const message = computed<string>(() => state.message)
    const reverseMessage = () => {
      state.message = state.message.split('').reverse().join('')
    }

    return {
      message,
      reverseMessage
    }
  }

textを反転させるメソッド。初歩の初歩から。