我无法从项目目录的父项导入文件。为了使事情变得尽可能简单,我在父目录中创建了新的react-native项目和文件'test.js'。我尝试使用以下代码导入它:
var Test = require('../test.js');
和
import Test from ('../test.js');
这些都不起作用 - 在xcode中运行时出现以下错误:
未捕获错误错误:UnableToResolveError:无法解析模块 来自/Users/UserName/Downloads/TestReact/index.ios.js的../test.js: 无效的目录/Users/UserName/Downloads/test.js
是否可以使用react-native从父目录导入文件? I̶̶k̶n̶o̶w̶̶i̶t̶̶w̶o̶r̶k̶s̶̶w̶i̶t̶h̶̶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;
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);
编辑 - 添加文件层次结构: screenshot
编辑 - 实际上我错了,网络反应也是不可能的。当我尝试构建时出现以下错误:
模块解析失败: /path_to_file/aaa1.js第1行: 意外的令牌您可能需要一个合适的加载器来处理这个问题 文件类型。
因此在问题中添加反应标记。
答案 0 :(得分:2)
尝试此./../Component.js
。这个对我有用
此外,如果您需要从相邻目录./../AdjDir/Component.js
答案 1 :(得分:1)
最后我可以回答一个堆栈溢出问题:
只需在jsconfig.json下面添加到react文件夹的基本路由即可。 (假设您将所有代码都放在“ src”文件夹中)
example_react_app
---> public
---> src
---> jsconfig.json
jsconfig.json文件内容
{
"compilerOptions": {
"baseUrl": "src",
"paths": {
"*": ["src/*"]
}
}
}
答案 2 :(得分:0)
此问题可能是因为react仅允许您从src文件夹导入。因此,所有资源都必须放在此目录中。
另外,当您返回两个以上的父目录时,您需要使用以下语法: ../../../myfolder/myFile.js enter image description here
答案 3 :(得分:0)
我看起来很好。您是否尝试过
import Test from '../test';
代替
import Test from '../test.js';
也尝试不带小括号“()”;
我以此解决了我的问题。希望对您有所帮助。