构建:除非' - jsx'否则不能使用JSX。提供标志

时间:2016-02-03 06:23:50

标签: azure visual-studio-2013 typescript tsx

我正在使用VS 2013和tsx文件做出反应。我可以手动构建我的项目。 (右键单击并构建解决方案)

但是当我尝试在Azure上发布时,VS会再次尝试构建,但当时我收到的所有错误都表示为:

Error   2   Build: Cannot use JSX unless the '--jsx' flag is provided. 

并指向我的tsx文件。

看起来像Azure Publish使用不同于VS 2013的构建步骤。

如何解决此问题?

Azure publish error

VS 2013 errors

7 个答案:

答案 0 :(得分:10)

我已将"jsx": "react"添加到tsconfig.json以解决此错误:

{
    "compileOnSave": true,
    "compilerOptions": {
        "target": "es6",
        "outFile": "Content/app.js",
        "sourceMap": true,
        "jsx": "react"
    }
}

答案 1 :(得分:5)

将此添加到csproj在VS2015中为我工作:

<PropertyGroup> <TypeScriptJSXEmit>react</TypeScriptJSXEmit> </PropertyGroup>

Source

答案 2 :(得分:2)

toy am mpg expected 1 1 1 23.39231 2 1 2 22.39231 3 0 3 14.14737 4 0 4 13.14737 中添加一个反应值为tsconfig.json的属性jsx。其次,您还应该包含该文件以反映像这样的编译器选项(index.tsx)。

"jsx": "react"

答案 3 :(得分:1)

如果您仍然在努力解决这个问题,请检查您的项目设置,确保将TSX文件中的JSX编译设置为React,并仔细检查您是否正在查看正确的构建配置(很容易错过,我不知道为什么TS构建是特定于构建配置的)。在VS2015上测试过。

编辑:我应该提到我能够从VS2015发布到Azure;我最初遇到了同样的错误,并意识到我的非发布版本配置已更新但未更新发布配置。我做了上述改动,然后发布成功。

答案 4 :(得分:1)

今天,从使用 es2019 + typescript 4.1.3 开始,我相信 npm start 命令会产生一条消息,说它改变了 tsconfig.json(对我来说)

进入: "jsx": "react-jsx",

不过,Visual Studio 2019 不同意该设置,这会导致一个巨大的错误列表。

答案 5 :(得分:0)

tsc --jsx helloWorld.tsx http://staxmanade.com/2015/08/playing-with-typescript-and-jsx/

它可能对您有所帮助

答案 6 :(得分:0)

此处提供的解决方案在Visual Studio 2017中对我有效

https://www.koskila.net/fixed-cannot-use-jsx-unless-the-jsx-flag-is-provided/

基本上更改TS Build属性。

右键单击项目->属性-> TypeScript构建

在TSX文件中的JSX编译选项中,选择React。