Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';是否不使用绝对路径进行导入?_Javascript_React Native - Fatal编程技术网

Javascript Can';是否不使用绝对路径进行导入?

Javascript Can';是否不使用绝对路径进行导入?,javascript,react-native,Javascript,React Native,恕我直言,我不确定这是一个纯粹的问题,还是一个ES6问题。但我注意到我无法做到这一点: import {navBarRouteMapper} from '/src/helpers'; 我收到一个错误,说它无法解析模块。我必须这样做: import {navBarRouteMapper} from '../../../src/helpers'; 随着应用程序复杂性的增加,跟踪文件夹深度可能会变得有点难以管理。为什么我不能使用绝对路径 编辑: 我看到人们建议增加巴别塔,但我不想污染React N

恕我直言,我不确定这是一个纯粹的问题,还是一个ES6问题。但我注意到我无法做到这一点:

import {navBarRouteMapper} from '/src/helpers';
我收到一个错误,说它无法解析模块。我必须这样做:

import {navBarRouteMapper} from '../../../src/helpers';
随着应用程序复杂性的增加,跟踪文件夹深度可能会变得有点难以管理。为什么我不能使用绝对路径

编辑:


我看到人们建议增加巴别塔,但我不想污染React Native的系统。很明显,ES6已经在进行中了。我希望找到一种特定于React-Native生态系统的解决方案。

React-Native实际上有一种非常干净的解决方案,请看这里:

TL;医生:

您只需在
src/helpers
文件夹中创建一个
package.json
文件:

{
   "name": "@helpers" 
}
您可以从任何地方导入它:

import { navBarRouteMapper } from '@helpers'

可能的副本。React Native使用Babel,因此我相信您的答案就在这里。您可以使用Browserify来实现这一点。请注意,路径是一个字符串,不需要在使用它的每个地方进行硬编码。您也可以使用运行时导入。这实际上与ES6没有任何关系,因为模块加载不是ES6的一部分。您的请求中缺少模块名称,请检查此回答中的映像。这不起作用,并且它表示仅支持用于调试映像的目的,您只需编写如下内容:
从“@assets/images.myImage.png”导入图像
。只要确保正确导出(
默认值
或不导出)变量(图像、组件等),那么每个文件夹都需要一个package.json文件?