firebase 分析错误:“--jsx”选项的参数必须是:“react”,“react-native”,“react”

rt4zxlrg  于 12个月前  发布在  React
关注(0)|答案(4)|浏览(151)

我正在学习firebase云函数,在我的index.ts文件夹中,我在import下突出显示错误消息
我不知道这意味着什么,以及如何解决它最糟糕的部分是,相同的确切代码在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!");
});

字符串
这是我的tsconfig

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017"
  },
  "compileOnSave": true,
  "include": ["src"]
}

nfs0ujit

nfs0ujit1#

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "jsx": "react"
  },
  "compileOnSave": true,
  "include": ["src"]
}

字符串
在compilerOptions中添加“jsx”:“react”

mfuanj7w

mfuanj7w2#

如果你的安装程序是一个包含多个包的monorepo,那么问题可能是由于多个不同版本的typescript造成的。我在几个包中有两个不同的主要版本。当我将它们统一为一个时,错误就消失了。
或者可能是您的编辑器与项目as depicted here的打印版本

vsdwdz23

vsdwdz233#

最有可能的是,你的tsconfig文件中有一个错误。具体来说,你可能有一个名为jsx的选项。我猜你实际上不需要JSX解析你的Firebase云函数,但我可能是错的。
下面是我的tsconfig for Firebase云的一个示例,它可以工作(当然,您可能需要稍微不同的选项):

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}

字符串
也有可能您的src目录没有指向Typescript源文件的位置。
最后,VSCode可能对您的Typescript设置做出了不正确的假设-这可能是因为您没有tsconfig文件,或者因为VSCode使用的Typescript版本与您的项目不同。请在此处查看可能的解决方案:Problem with Visual Studio Code using "react-jsx" as jsx value with create-react-app
其他资源引用此错误:

aij0ehis

aij0ehis4#

只需将"jsx": "preserve"添加到jslog.json文件的compilerOptions对象中即可

相关问题