4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nuxt.js 2.5.1 でnuxt-tsを脱するためにやった事

Last updated at Posted at 2019-03-27

事の始まり

先日Nuxt.js + TypeScript での環境をやっとこさ構築したばかりなのに。ビルド中にあるメッセージが。

スクリーンショット 2019-03-27 10.39.15.png

お?

お?

nuxt 本体で TypeScript をサポートしてくれるので nuxt-ts はもう不要になったようです。早速削除していきましょう。

やった事

yarn.lockの削除

$ rm yarn.lock

package.jsonの更新

nuxt-tsnuxt に変更します。

dependencies 部分。

-    "nuxt-ts": "^2.4.5",
+    "@nuxt/typescript": "^2.5.0",
+    "nuxt": "^2.5.0",

script 部分。

-    "dev": "nuxt-ts",
-    "build": "nuxt-ts build",
-    "start": "nuxt-ts start",
+    "dev": "nuxt",
+    "build": "nuxt build",
+    "start": "nuxt start",

Programmatic API / Middleware の更新

ここは公式のマイグレーションガイドそのまま。なのであまり理解していないですが、必要とのことなので。SSR で express を利用しているので、そのスクリプトを下記のように修正しました。

   const nuxt = new Nuxt(config)
++ await nuxt.ready()

tslint の削除

突然の tslint command not found.
自分の勉強不足ですが、今まで使っていた tslint コマンドが利用できなくなってしまいました。なので eslint を利用することにします。公式でも eslint 推しのようです。
Why ESLint and not TSLint ?

package.json の script に以下 lint 用のコマンドを追加。

+    "lint": "eslint --ext .ts,.js,.vue --ignore-path .gitignore .",
+    "lint:fix": "yarn lint --fix",

lint 用の設定ファイル .eslintrc.js を作成します。

+module.exports = {
+  plugins: ['@typescript-eslint'],
+  parserOptions: {
+    parser: '@typescript-eslint/parser'
+  },
+  extends: [
+    '@nuxtjs'
+  ]
+};

tsconfig.json を修正。ここを参考に実装しました。

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "lib": [
      "esnext",
      "esnext.asynciterable",
      "dom"
    ],
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "allowJs": true,
    "sourceMap": true,
    "strict": true,
    "noImplicitAny": false,
    "noEmit": true,
    "baseUrl": ".",
    "paths": {
      "~/*": [
        "./*"
      ],
      "@/*": [
        "./*"
      ]
    },
    "types": [
      "@types/node",
      "@types/jest",
      "@nuxt/vue-app"
    ]
  }
}

#eslint に変えるまで --fix でコードを整形してくれるという神機能を知りませんでした。便利。

yarn install

最後に $ yarn install で完了です。

参考になった資料

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?