首页 > 解决方案 > 未找到模块。无法解析“资产/样式/常量”

问题描述

我想在我的 React Native 项目中添加 Expo 以在 Web 浏览器中启动它。之后,我尝试导入文件“assets/styles/constants.ts”。这是我的tsconfig.json

tsconfig.json

这是constants.ts

常量.ts

在这里我尝试导入这个文件:

DropdownAlertCustom.tsx

之后,我收到此错误:

错误信息

我究竟做错了什么?我该如何解决?

UPD 小修复tsconfig.json

小修复

现在我收到错误“找不到模块或其对应的类型声明:

找不到模块

UPD 2 我知道我的 IDE 和 VSCode 通过这些路径可以很好地查看文件和文件夹。当我将鼠标悬停在它们上时,我可以看到它们的内容。Module not found. Can't resolve 'assets/styles/constants'我输入时收到错误消息expo start --web。它在浏览器中启动,我收到此错误。

也许问题出在世博会?我已将它添加到 Create React Native 应用程序中。

如果有人有任何建议,请帮忙。

标签: reactjstypescriptreact-nativewebpackexpo

解决方案


替换assets/styles/constants../../../assets/styles/constants

解释

如果您像这样导入assets/styles/constants,则会webpack将您的项目编译为common js认为这assets是包名称的文件,这就是为什么它会在node_mouldes文件夹中找到并且无法解析文件夹的原因。

因此,如果您想从本地文件中导入某些内容,您可以提供该文件夹的相对路径并像我指定的那样成功导入../../../assets/styles/constants

编辑 1

create-react-app这是为您提供任何文件的唯一方法,import但是还有另一种方法可以手动构建它,称为absolute path.

就像你可以告诉 webpack 将src文件夹作为我项目的根目录,如果我@在 URL 中指定,则意味着它的绝对路径和根目录是src

之后,您可以将其称为

@/assets
@/pages
@/store
@/anything/any

推荐阅读