解析错误:“--jsx”选项的参数必须是:“preserve”、“react-native”、“react”

Luk*_*Vis 10 firebase typescript reactjs visual-studio-code

我正在学习 firebase 云函数,在我的index.ts文件夹中,我在导入下突出显示了错误消息

我不知道这意味着什么以及如何解决它,最糟糕的是,相同的代码在 youtube 上的 firebase 教程视频中工作

这段代码有什么问题?

import * as functions from "firebase-functions";

// Start writing Firebase Functions
// https://firebase.google.com/docs/functions/typescript

export const helloWorld = functions.https.onRequest((request, response) => {
  functions.logger.info("Hello logs!", { structuredData: true });
  response.send("Hello from Firebase!");
});

Run Code Online (Sandbox Code Playgroud)

这是我的 tsconfig

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017"
  },
  "compileOnSave": true,
  "include": ["src"]
}
Run Code Online (Sandbox Code Playgroud)

jn_*_*pdx 0

最有可能的是,您的文件中有错误tsconfig。具体来说,您可能有一个名为 的明确选项jsx。我猜想您实际上不需要为您的 Firebase 云功能进行 JSX 解析,但我可能是错的。

这是我的 Firebase 云的示例tsconfig,它可以工作(当然,您可能需要稍微不同的选项):

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}
Run Code Online (Sandbox Code Playgroud)

您的目录也可能src没有指向 Typescript 源文件的位置。

最后,VSCode 对您的 Typescript 设置做出的假设可能不正确——这可能是因为您没有文件tsconfig,或者因为 VSCode 使用的 Typescript 版本与您的项目不同。请参阅此处可能的解决方案:Problem with Visual Studio Code using "react-jsx" as jsx value with create-react-app

引用此错误的其他一些资源: