描述问题
我可以使用
// @ts-ignore
import ReloadWrapper from "../Others/ReloadWrapper.tsx";
运行我的项目,但无法在Visual Studio Code中享受Typescript的类型提示。如果我去掉@ts-ignore
,就可以恢复正常:
当我使用
import ReloadWrapper from "../Others/ReloadWrapper";
时,Webpack无法识别导入:
你是否尝试恢复依赖项?
是的
你在用户指南中搜索了哪些术语?
- 导入路径不能以'.tsx'扩展名结尾
环境
Environment Info:
current version of create-react-app: 5.0.1
running from C:\Users\jy95\AppData\Local\npm-cache\_npx\c67e74de0542c87c\node_modules\create-react-app
重现问题的步骤
- Visual Studio Code版本为1.68.1
- Git克隆
https://github.com/jy95/jy95.github.io.git
- 在某个地方(例如
import ReloadWrapper from "../Others/ReloadWrapper.tsx";
)删除一个// @ts-ignore
- 完成
预期行为
没有错误
实际行为
导入路径不能以'.tsx'扩展名结尾
7条答案
按热度按时间cczfrluj1#
如果你还没有解决这个问题,我可以通过在根目录下添加一个tsconfig.json文件并去掉import的扩展名来解决这个问题。
我采取的解决步骤如下:
npm install typescript -g
tsc --init
0md85ypi2#
这解决了我的问题。值得注意的是,指南中提到了
You are not required to make a [tsconfig.json file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html), one will be made for you. You are allowed to edit the generated TypeScript configuration.
,这可能是在参考从头开始创建应用程序,但由于页面被称为“添加Typescript”,并且还涵盖了将其添加到现有项目中,因此可能会令人困惑。您还需要在 src/ 目录下添加一个名为 'react-app-env.d.ts' 的文件,并包含以下内容:
这通常也是由 create-react-app 为您创建的。它允许像导入svg模块这样的操作。
pbossiut3#
我创建了一个PR来更新指南,希望能更清楚。
mwecs4sa4#
大家好!我刚刚通过使用tsconfig.json解决了这个问题。在创建了tsconfig.json文件之后,你只需要粘贴以下设置:
然后,你就可以在不使用'tsx'扩展名的情况下导入组件了。
yhived7q5#
大家好!我刚刚通过使用tsconfig.json解决了这个问题。在创建了tsconfig.json文件之后,你只需要粘贴以下设置:
然后,你就可以在不使用'tsx'扩展名的情况下导入组件了。非常感谢,这对我来说很有效。之前一直困扰了我很久。
8hhllhi26#
如果你还没有解决这个问题,可以通过在根目录下添加一个tsconfig.json文件并去掉import语句中的扩展名来解决。
我采取的解决步骤如下:
npm install typescript -g
tsc --init
如何避免使用扩展名解决问题?假设我们有相同名称但扩展名不同的文件,例如sample.js和sample.ts,似乎我们需要更新tsconfig/webpack配置。谢谢
o7jaxewo7#
大家好!我刚刚通过使用 tsconfig.json 解决了这个问题。在创建了 tsconfig.json 文件之后,你只需要粘贴以下设置:
然后,你可以在不使用
'tsx'
扩展名的情况下导入组件。对于 .jsx 和 .tsx 文件也是如此,跳过扩展名只会解决问题,而不会真正解决问题。参考评论:#12527(评论)