【发布时间】:2017-02-13 16:35:33
【问题描述】:
我有一些 .ts 文件,其中包含 .jsx 语法。我想告诉tsc 编译我的这些 .ts 文件,就像编译 .tsx 文件一样。
是否可以配置tsc 来做到这一点?
如何配置 vscode 以支持这些文件中 JSX 语法的语法高亮显示?
【问题讨论】:
标签: reactjs typescript visual-studio-code
我有一些 .ts 文件,其中包含 .jsx 语法。我想告诉tsc 编译我的这些 .ts 文件,就像编译 .tsx 文件一样。
是否可以配置tsc 来做到这一点?
如何配置 vscode 以支持这些文件中 JSX 语法的语法高亮显示?
【问题讨论】:
标签: reactjs typescript visual-studio-code
不,您必须在 .tsx 文件中包含您的反应代码,as the docs say:
为了使用 JSX,你必须做两件事。
- 使用 .tsx 扩展名命名您的文件
- 启用 jsx 选项
原因是在打字稿中你以这种形式投射:
interface Point {
x: number;
y: number;
}
let p = <Point> {};
在tsx 文件中,这是不可能的,因为<Point> 可以是Point 组件的标记。
因此在tsx 文件中无法进行强制转换,您需要输入断言:
let p = {} as Point;
但是常规的.ts 文件仍然支持转换格式,如果您在其中包含 jsx 代码会导致冲突。
【讨论】: