【发布时间】:2016-05-05 19:19:42
【问题描述】:
与 Babel / Sublime(或 Atom、VS Code 等)相比,Visual Studio 2015 对带有 React 的 ES6/ES7 语法的支持有一些明确的限制。具体来说,我试图在不关闭 Visual Studio 2015(.NET 4.5 项目而不是版本 5)中的 JS 调试/智能感知的情况下,在 JSX 文件中实现对 ES6 导入/导出和 ES7 装饰器和类属性的“支持”。
我发现了一些有用的东西,例如这个 hack 到 VS 用来解析 JSX 的节点服务器(并且正在修改它以使用 Babel,但已经遇到了一些问题接近)。
我已经下载了节点工具,开启了 ES6 intellisense 预览,并安装了 TypeScript 1.7.6。
所以,它更好,但仍然有太多限制。
看起来微软正在将其大部分 JSX 支持投入到 TypeScript 中。虽然我认识到 TypeScript 的一些好处,但在这一点上,我不想用 TypeScript 编写我的 JSX,但据我了解,有效的 JS 是有效的 TypeScript,如果我能获得更好的 React / ES6 / ES7 支持现在(或将来)通过将我的文件扩展名从 JS / JSX 更改为 TS /TSX,很好;但是,当我尝试这样做时,Visual Studio 2015 立即开始抱怨我的 JSX 语法中缺少类型定义和显式类型。你能把这些关掉吗?
换句话说,无论如何要告诉 Visual Studio 2015“像 TypeScript 一样突出显示这个文件,提供一些基本的语法验证,一些不错的智能感知,但不要担心构建、源映射或其他任何东西”(我正在使用 webpack为此)?
明确地说,我的问题是“如何在 Visual Studio 2015 中使用 React 实现绝对最佳的 ES6/ES7 支持”,因为我的问题是我有一个 .NET 4.5 MVC 应用程序需要要构建,前端需要是“现代”的 ES6/ES7 React。
如果有其他方法可以解决我的问题(例如使用 VS Code + Mono - 需要 .NET 5+),或者您对如何最好地回答上述问题有任何建议,我们将不胜感激。提前感谢您提供的任何帮助!
【问题讨论】:
-
虽然有效的 JavaScript 确实是有效的 TypeScript,但不幸的是 not 有效的 ECMAScript 6 是有效的 TypeScript。因此,我认为 TypeScript 不会帮助你,除非你愿意在你的类定义中添加大量的
: any类型声明,以使工具不再抱怨类型。
标签: reactjs typescript visual-studio-2015 ecmascript-6 ecmascript-2016