从父目录反应导入

Mac*_*j S 5 javascript reactjs react-native

我无法从项目目录的父目录导入文件。为了使事情变得尽可能简单,我在父目录中创建了新的react-native项目和文件“ test.js”。我尝试使用以下代码导入它:

var Test = require('../test.js');
Run Code Online (Sandbox Code Playgroud)

import Test from ('../test.js');
Run Code Online (Sandbox Code Playgroud)

这些都不起作用-在xcode中运行时,出现以下错误:

未捕获的错误错误:UnableToResolveError:无法从/Users/UserName/Downloads/TestReact/index.ios.js解析模块../test.js:无效的目录/Users/UserName/Downloads/test.js

是否可以使用react-native从父目录导入文件?一世??知道??它??作品?是吗?r?e?a?c?t?J?S?。

问候

编辑-添加代码

test.js

'use strict';

import React, {Component,View,Text} from 'react-native';

  class Test extends Component{
  render(){
    return (
    <View>
      <Text>
        SAMPLE TEXT
      </Text>
    </View>
    );
  }
}
module.exports = Test;
Run Code Online (Sandbox Code Playgroud)

index.ios.js

'use strict';
import React, {AppRegistry, View} from 'react-native';
import Test from '../test.js';

var TestReact = React.createClass({
  render: function() {
    return (
      <View><Test/></View>
    );
  }
});

AppRegistry.registerComponent('TestReact', () => TestReact);
Run Code Online (Sandbox Code Playgroud)

编辑-添加文件层次结构: 屏幕截图

编辑-实际上我错了,网络反应也是不可能的。当我尝试构建时,出现以下错误:

模块解析失败:/path_to_file/aaa1.js第1行:意外的令牌您可能需要适当的加载程序来处理此文件类型。

因此,在问题上添加react标签。

小智 11

这个问题可能是因为react只允许你从src文件夹导入。所以所有的资源都要放在这个目录下。

另外,当您返回两个以上的父目录时,您需要使用以下语法:../../../myfolder/myFile.js 返回 2 个父目录


Ale*_*nov 9

试试这个./../Component.js。这个对我有用。如果您需要从相邻目录访问组件,则更多./../AdjDir/Component.js


sta*_*ley 5

最后我可以回答一个堆栈溢出问题:

只需将下面的 jsconfig.json 添加到 React 文件夹的基本路径中即可。(假设你将所有的反应代码放在“src”文件夹中)

example_react_app
  ---> public
  ---> src
  ---> jsconfig.json
Run Code Online (Sandbox Code Playgroud)

jsconfig.json 文件内容

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "*": ["src/*"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)