2
0

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 1 year has passed since last update.

【Nuxt】Cannot use JSX unless the '--jsx' flag is provided.ts(17004)の解消法

Posted at

はじめに

スクリーンショット 2022-04-10 18.30.17.png

Nuxt2系 + Vscode

Cannot use JSX unless the '--jsx' flag is provided.ts

という謎のエラーでvueファイルが真っ赤になりました。。。。
試行錯誤してみた経緯をここに記録します:skull:

試したこと① TypeScriptのバージョンを変えてみる

👆を参考に、VscodeでTypeScriptのバージョンをワークスペースの方に変更してみました!
スクリーンショット 2022-04-10 18.11.02.png

しかし、何も変わりませんでした!

試したこと② tsconfig.jsonを編集

👆を参考に、tsconfig.jsonを編集してみました。

tsconfig.json
"compilerOptions": {
    "jsx": "react", // 追加
    "target": "ES2018",
    "module": "ESNext",
    "noImplicitAny": false,
    "resolveJsonModule": true,
    "moduleResolution": "Node",
    "include": [ // 追加
      "./src/**/*.ts"
    ],
    "lib": [
      "ESNext",
      "ESNext.AsyncIterable",
      "DOM"
    ],
    "esModuleInterop": true,
    "allowJs": true,
    "sourceMap": true,
    "strict": true,
    "noEmit": true,
    "experimentalDecorators": true,
    "baseUrl": ".",
    "paths": {
      "~/*": [
        "./*"
      ],
      "@/*": [
        "./*"
      ]
    },
    "types": [
      "@nuxt/types",
      "@nuxtjs/axios",
      "@types/node"
    ]
  },

が、includeについてはなぜかエラーになってしまったので、削除しました。。。:sweat:
スクリーンショット 2022-04-10 18.38.16.png

よってcompilerOptionsに👇を追加しただけです。

 "jsx": "react",

また別のエラーが・・

Cannot find name 'React'.ts(2304)

スクリーンショット 2022-04-10 18.42.02.png

「ってか、そもそもNuxt(Vue)のプロジェクトやのに、なぜにReactが登場する??!!」

と思った訳で、改めてしっかりと調べてみました。。

jsxをpreserveにするとエラー消えた!

 "jsx": "preserve",

jsxのオプションを調べてみた結果、よくわかりませんがpreserveにすることでエラーを回避できました:sweat_smile:

どなたかコメントで解説お願いします!!!:bow:

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?