我正在使用VS 2013和tsx文件做出反应。我可以手动构建我的项目。 (右键单击并构建解决方案)
但是当我尝试在Azure上发布时,VS会再次尝试构建,但当时我收到的所有错误都表示为:
Error 2 Build: Cannot use JSX unless the '--jsx' flag is provided.
并指向我的tsx文件。
看起来像Azure Publish使用不同于VS 2013的构建步骤。
如何解决此问题?
答案 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>
答案 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。