我如何拥有可以在我的反应应用程序中的任何文件中使用的资产文件,而不必总是导航到资产文件夹

Posted

技术标签:

【中文标题】我如何拥有可以在我的反应应用程序中的任何文件中使用的资产文件,而不必总是导航到资产文件夹【英文标题】:How do i have an assets file that i can use in any file in my react app without always having to navigate to the assets folder 【发布时间】:2020-10-23 06:41:52 【问题描述】:

如何在我的应用程序的任何目录中使用import "assets/css/" 而不是这个import "../assets/css/"

【问题讨论】:

【参考方案1】:

它称为绝对路径导入

如果您使用create-react-app,请在项目的根目录下创建名为.env 的文件,并重新启动开发服务器,然后您就可以开始了:

NODE_PATH=src/

否则将以下内容添加到webpack.config.js (Module Resolution):

resolve:  modules: [path.resolve(__dirname, './src'), 'node_modules'] ;

【讨论】:

设置 NODE_PATH 以绝对解析模块已被弃用,取而代之的是在 jsconfig.json(或 tsconfig.json,如果您使用 TypeScript)中设置 baseUrl,并将在未来的 create-react 主要版本中删除-应用程序。 不知何故,我不能需要一些依赖,比如来自 'material-ui/core/AppBar' 的 AppBar 不再工作了 所以请改用jsconfig.json。概念是一样的,你只需要在某个地方配置 NODE_PATH【参考方案2】:

我认为你可以使用 postinstall

它允许您为应用中的不同文件夹创建别名。检查它here

【讨论】:

【参考方案3】:

我认为您应该将文件保存在公共文件夹中,然后您可以直接尝试此操作而无需导入。

参考:

https://***.com/a/63961058/8425297

【讨论】:

以上是关于我如何拥有可以在我的反应应用程序中的任何文件中使用的资产文件,而不必总是导航到资产文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的反应项目中使用 package.json 依赖项中的系统变量?

如何使用 expo-av 在本机反应中播放背景音频?

检测反应路由器中的先前路径?

如何使用我的后端中使用的前端反应中的 Auth0 访问令牌

在执行操作之前,我可以知道反应中的任何未决状态转换吗?

如何在我的 CSS 中使用存储在 JSON 中的颜色?