2016-02-03 154 views
6

私は反応があるVS 2013とtsxファイルを使用しています。手動でプロジェクトを作成することはできます。 (右クリックして、ソリューションの構築)ビルド: '--jsx'フラグが指定されていないとJSXを使用できません

しかし、私はアズールで公開しようとすると、VSは、再構築しようとしますが、その時点で私のように述べたエラーのすべての束取得しています:

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

との点をtsxファイル。

VS 2013とは異なる種類のビルドステップを使用してAzureパブリッシュのようです。

この問題を解決するにはどうすればよいですか?

Azure publish error

VS 2013 errors

答えて

0

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

それはcsprojにこれを追加します

+0

手動でビルドしても問題ありませんが、一度Azureに公開しようとすると動作しません。 Azureは別のパスからbuild.exeを使用するので、VS 2015の同じメソッドを使用しません。 –

4

に役に立つかもしれませんVS2015で私のために働い:

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

Source

+0

私は既にこれを私の.csprojに持っています。 Azureで公開しようとしたことはありますか? –

+0

私は残念なことにはありません。申し訳ありませんがあなたのために動作しませんでした。 – theycallmemorty

2

私はこのエラーを解決するために、私のtsconfig.json"jsx": "react"を追加しました:あなたはまだこれで苦労することが起こる場合

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

私はこれを既に試してみましたが、VSビルドでうまく動作します。しかしAzureで公開しようとすると、VSは再構築を試みますが、その時点ではエラーが発生しています。 –

1

、TSXファイルにJSXコンパイルを確保し、プロジェクトの設定を確認していますあなたが正しいビルド構成を見ていることを再確認してください(それを見逃すことは非常に簡単です。なぜTSビルドがビルド構成固有であるのか分かりません)。 VS2015でテスト済みです。

EDIT:私はVS2015からAzureに公開できたと言わざるを得ない。もともと私はこの同じエラーに遭遇し、私の非リリースのビルド構成は更新されていたが、リリース構成ではないことに気付いた。私は上記の変更を加えて、それを公開しました。

+0

前に何度も言ったように。それはVSのビルドについてではありません。 Azureの展開についてです。 VS 2015は正常にビルドされています。私がAzureにWebサイトを公開しようとするとエラーが発生します。 –

+1

Azureへのデプロイは、この機能で正しく動作します。私は文字通り昨夜それをしました。私がこの問題に遭遇したとき、私はこの質問に答えていませんでしたが、私がリリースビルドを公開していたことが私に浮き彫りになりました。私はプロジェクトの設定をデバッグとベータ版で正しく設定しましたが、リリースはしませんでした。だから私はこれを可能性として言及することに決めた。それがあなたを助けないなら、そうすることができますが、それについてのディックである必要はありません。 – Joe

+0

あなたはAzureの出版について特に言及しませんでした。したがって、あなたの答えは以前の答えに何も追加しません。あなたのAzureの公開プロセスでうまくいくなら、それについて言及することは良いことです。以前のユーザーはAzure Publishツールの代わりに "VS build"を検討していただけなので、あなたが私の前のコメントをすべて見たら、私はそのことを人に話していました。ここに怒らせるものは何もありません。 –

2

tsconfig.jsonに、反応値が"jsx": "react"のプロパティjsxを追加します。次に、このようなコンパイラオプション(index.tsx)を反映するためにファイルをインクルードする必要があります。

{ 
    "compilerOptions": { 
     "outDir": "./build/", 
     "sourceMap": true, 
     "noImplicitAny": true, 
     "module": "commonjs", 
     "target": "es5", 
     "jsx": "react" 
    }, 
    "files": [ 
     "./src/app/index.tsx" 
    ] 
} 
関連する問題