在React和React Native

时间:2017-05-11 14:26:19

标签: javascript reactjs import react-native

我正在尝试在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中进行导入,但如果我以反应的方式进行导入,本机应用程序无法找到该文件,反之亦然。

有办法解决这个问题吗?我无法更改文件结构,这实际上不是一个选项。

1 个答案:

答案 0 :(得分:0)

package.json中的source/appLogic文件放入以下内容:

{
  "name": "appLogic"
}

之后,您可以在React js和React Native中都使用import {moreLogic} from "appLogic/moreAppLogic/moreLogic.js"