我面临一个奇怪的问题。从昨天起,我的设置与大型轨道,反应和打字稿项目完美配合。
今天早上,当我打开编辑器时,VS Code突然被打破了。我现在得到错误
[ts] Cannot use JSX unless the '--jsx' flag is provided
在我的所有.tsx文件中。更令人惊讶的是,编译仍然没有问题。
这似乎符合我突然得到的警告:Version mismatch! global tsc (2.0.7) != VS Code's language service (2.0.6). Inconsistent compile errors might occur
。
我的目录结构是rails项目的结构,加上react_on_rails
gem。这意味着我有一个带有webpack安装的client
文件夹,在client
文件夹中我们找到了tsconfig
文件。 tsconfig
包含以下内容:
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"module": "commonjs",
"target": "es6",
"jsx": "react",
"allowJs": true,
"allowSyntheticDefaultImports": true,
"isolatedModules": true,
"experimentalDecorators": true,
"maxNodeModuleJsDepth": 5
},
如何调试这样的事情?
答案 0 :(得分:1)
对于任何可能感兴趣的人来说,解决方案非常简单。
我使用的是webpack,所以tsconfig.json
中的文件列表并不是真的需要:毕竟,webpack会查找找到的文件,匹配扩展,并应用其加载器。实际上,编译工作正常。
似乎(并非不合理)VS Code使用tsconfig.json
中列出的文件来确定哪些文件将根据tsconfig.json
文件本身中指定的参数接收智能感知
因此,解决方案只是添加对*.ts
中所有*.tsx
和tsconfig.json
文件的引用,以便将智能感知恢复到完美状态。