从反应本机的共享文件夹导入

2024-01-10

我正在创建一个 monorepo 来保存我的 React Web 应用程序和 React Native 应用程序,因为它们共享许多通用代码。

我想要得到的设置是:

Project  
|  
+-- web  
+-- native  
----|------ file.js (should be able to import from 'shared/file2.js')  
+-- shared  
----|------ file2.js  
----|------ package.json (with name="shared")  
+-- package.json

来自以下这篇文章:https://blog.callstack.io/a-cure-for-relative-requires-in-react-native-2b263cecf0f6#.4g1o5inru https://blog.callstack.io/a-cure-for-relative-requires-in-react-native-2b263cecf0f6#.4g1o5inru我将 package.json 文件添加到共享文件夹中:

{ "name": "shared" }

并从根文件夹中的 package.json 启动我的本机应用程序,如下所示:

"start-native": "./native/node_modules/react-native/packager/packager.sh"

But for some reason i'm getting the following error: enter image description here

知道我做错了什么或者如何实现从上游共享文件夹导入我的 RN 应用程序中的文件吗?

EDIT:
有几个细节我忘记说了。
给我错误的行是(假文件名......):

// in native/file.js  
import { aFunctionName } from 'shared/file2'

还尝试在根级别的 package.json (name=proj-root) 中添加名称并导入,如下所示:

import { aFunctionName } from 'proj-root/shared/file2'

Thanks!
Uri


要在 Web 和本机之间共享代码,您应该更改文件夹的结构方式。

首先开始一个新项目react-native init myProject这将为 RN 应用程序创建默认结构。

myProject  
|  
+-- android
+-- ios
+-- index.android.js
+-- index.ios.js
...

现在为 Web 和共享代码创建特定文件夹。

myProject  
|  
+-- android
+-- ios
+-- index.android.js
+-- index.ios.js
+-- web
+-- shared
----|------ index.js 
...

共享/index.js

function hi() {
    return 'hi';
}

module.exports = {
    hi: hi
};

索引.ios.js

import { hi } from './shared/'; 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从反应本机的共享文件夹导入 的相关文章

随机推荐