我正在尝试在React appliacation和React Native应用程序之间共享逻辑组件,其结构如下所示:
-source
|-appLogic
|-logicComponent1.js
|-logicComponent2.js
|-moreAppLogic
|-moreLogic.js
|-appviews
|-reactView.js
|-reactNativeView.js
在导入逻辑组件中的模块时遇到问题。 reactView.js将导入逻辑组件,如下所示:
import {moreLogic} from "appLogic/moreAppLogic/moreLogic.js"
而reactNativeView.js将导入相同的文件:
import {moreLogic} from "../appLogic/moreAppLogic/moreLogic.js"
我的问题出现在moreLogic.js导入例如logicComponent1的情况下。因为在moreLogic.js中,react会想要这样的东西:
import {logicComponent1} from "appLogic/logicComponent1.js"
and react-native将需要:
import {logicComponent1} from "../logicComponent1.js"
我曾尝试以两种方式在moreLogic.js中进行导入,但如果我以反应的方式进行导入,本机应用程序无法找到该文件,反之亦然。
有办法解决这个问题吗?我无法更改文件结构,这实际上不是一个选项。
答案 0 :(得分:0)
将package.json
中的source/appLogic
文件放入以下内容:
{
"name": "appLogic"
}
之后,您可以在React js和React Native中都使用import {moreLogic} from "appLogic/moreAppLogic/moreLogic.js"