首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >web本机+web(用于web)种子项目

web本机+web(用于web)种子项目
EN

Stack Overflow用户
提问于 2018-02-02 21:40:20
回答 6查看 6.5K关注 0票数 21

是否有可能设置一个项目,该项目的代码既可用于React本地(Mobile)+ React(web),也可在平台之间进行分解,但UI部分除外。

使用NativeScript使用这种种子做了类似的事情,它支持本地应用程序和web应用程序之间的代码共享( UI层除外)。寻找类似的反应+反应本土化。

如果你知道任何这样的种子反应本机+角,如果有,请分享。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-02-07 00:20:29

Jonathan有一篇关于如何设置它的好文章:http://jkaufman.io/react-web-native-codesharing/

基本策略是为每个平台(android/ios/web)设置一个不同的入口点(index.js)。然后,大部分非呈现代码可以驻留在共享的appcommon文件夹中。但是,您仍然需要隔离您的呈现代码(即Viewdiv等的使用),因为这将因平台而异。

请注意对这篇文章的评论,因为对于这种方法的缺陷有一些很好的讨论。示例:

通过在本地和web之间共享公共package.json,您已经通过它们的共同依赖将它们粘合在一起,这是最重要的依赖关系。假设您升级到了依赖于>= react@16的react本机版本,但是您的web应用程序依赖于依赖于=< react@15的其他库。

票数 12
EN

Stack Overflow用户

发布于 2018-02-05 16:06:51

您可以尝试使用反应-本土化,但是imho您应该创建两个不同的项目,隔离和复制两者都可以使用的内容(比如api请求和util函数)。您的代码将更易于调试和维护。

票数 5
EN

Stack Overflow用户

发布于 2018-02-08 11:31:15

是的绝对有可能。在使用这个lib react-native-web之前,我们已经完成了它。https://github.com/necolas/react-native-web

除了index.ios.jsindex.android.js之外,您还需要创建index.web.js,内容应该类似于以下内容。

代码语言:javascript
运行
复制
import { AppRegistry } from 'react-native';
import App from './app/Containers/App/App.container';

AppRegistry.registerComponent('ReactNativeWeb', () => App);
AppRegistry.runApplication('ReactNativeWeb', { rootTag: document.getElementById('react-app') });

此外,您还需要创建自己的nodejs代码来服务包。全参考

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48591233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档