【问题标题】:Make VS2017 to understand jsx让VS2017看懂jsx
【发布时间】:2018-01-09 13:07:27
【问题描述】:

VS 2017 应该理解 jsx 文件。当我从 2015 年过渡到 2017 年时,我所有的 jsx 文件都变成了一个很长的红色下划线。尽管在 vs2015 中我没有任何错误,但到处都有错误。我想这是因为 vs 2015 一开始就懒得“智能感知”文件,但我更喜欢没有智能感知和清晰的视图,而不是智能感知认为一切都是错误的。

我使用 webpack+babel 来编译和打包我的 react 组件。当我使用 webpack 构建时,一切都很好。但是智能感知说一切都错了。

在我的 Web 项目中有一个名为“React”的文件夹,我的所有反应视图和组件都位于该文件夹下。

当我导入 3rd 方组件(不是相对路径)vs 2017 intellisense 时说它找不到模块。

但这并不是所有文件都会发生的。在某些文件中它可以解析模块,在其他文件中则不能。

这里发生了什么,我应该如何解决这个问题?

Intellisense 坏了,所以我不得不禁用突出显示语法错误。这样更好,但我仍然没有智能感知(自动完成、建议等)

【问题讨论】:

    标签: reactjs typescript visual-studio-2017 jsx


    【解决方案1】:

    您应该下载react.d.ts 文件以便Visual studio 能够理解它们。 例如从这里下载:react.d.ts 或者我认为还有一个nuget 包。 另一种解决方案是使用这种语法:var react=require('react'),但您不会通过这种方式获得智能感知,但至少您会成功构建。

    【讨论】:

    • 这个文件是什么?它有什么作用?那么所有其他模块呢?看起来这有点像 react 的 polyfill。我使用的主干、jquery 和所有其他 3rd 方库呢?另外,我使用 webpack 构建我的文件。我不需要打字稿。我只希望文本编辑器正确突出显示我的代码,正确缩进(jsx 缩进很糟糕)并正确智能感知它。
    • 我无法单独在 jsx 文件中获得正确的语法。我没有得到语法高亮,智能感知,什么都没有。然后我创建了 tsx 文件(无论如何它都会自动创建 jsx 文件),它帮助了我。
    • 那么,您是否建议将我的所有文件重命名为 tsx 并更改我的 webpack.config 以设置 babel 以将 tsx 文件理解为 React 文件?这行得通吗?
    • 保存 tsx 文件(如果默认 Visual Studio 已打开)会自动(重新)创建 jsx 文件,因此可能不应该做任何更改。
    • 好吧,我想我会在 Visual Studio Code 中编辑我的反应组件。我看到它对 jsx 有更好的支持
    猜你喜欢
    • 1970-01-01
    • 2017-09-21
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多