此项目显示如何构建源代码以在多个设备上运行。到目前为止,它能够运行:
网站应用程序的演示可在这里。
该项目使用的库和工具,如:
所有代码都包含在src
目录中,特别是用于构建的3个主要条目文件:
index.ios.js
并且index.android.js
是用于构建iOS和Android应用程序的那些index.js
是用于构建网站应用和桌面应用程序的代码,因为代码是完全相同的。所有的通量架构都可以分享到所有不同版本的100%。这意味着所有的逻辑和数据管理代码只能执行一次,并在任何地方重用。这样我们也可以使用简单的测试套件,并确保我们的代码在所有设备上正常工作。
该项目的真正兴趣在于组件如何被组织以分享其大部分逻辑,并且仅重新定义每个设备特定的内容。
基本上,每个组件都有一个main Class
,它继承了Class
包含所有逻辑的基础。然后,主要组件导入在构建期间选择的不同的Render函数。文件扩展名.ios.js
,.android.js
或.js
由构建工具用于仅导入正确的文件。
这些.native.js
文件包含两个移动平台(iOS和Android)之间共享的代码。目前,由于所有代码现在共享.ios.js
,.android.js
文件和文件将构成该.native.js
文件。但是,如果组件因平台具体原因而需要不同,则该代码将被包含在相应的平台特定文件中。
最后,每个组件由6个文件定义。如果我们看屏幕组件,这里是它的结构。
Screen.js
├── ScreenBase.js
├── ScreenRender.ios.js (specific to iOS build
├── ScreenRender.android.js (specific to Android build)
├── ScreenRender.native.js (shared mobile app code - iOS & Android)
└── ScreenRender.js (used during Website and Desktop build)
这里是Class
组成文件的主文件。
' use strict ' ;
从“ ./ScreenBase ”导入基数 ;
从“ .ScreenRender ”导入渲染 ;
export default class Screen extends Base {
constructor(props){
super(props);
}
render(){
return Render。调用(此,此。道具,此。状态);
}
}
以下是关于下一步可能遇到的一些想法:
我想感谢罗伯特·奥多夫,他授权我重用他非常漂亮的设计。罗伯特的原创设计是他在这里可见的“简化”项目的一部分。
npm install
安装所有依赖项,React and React Native等。
有些构建从npm包括错误npm install
。因此,如果您使用的是包含3.3.10到3.6.0范围内的npm版本,则必须运行npm install
两次。那些包括npm v3.3.12的版本是默认捆绑的,从版本v5.1.0到v5.5.0的节点。
npm install npm
npm install npm
运行它两次,因为第一次运行#10985后将不会安装程序包brew install node
brew install watchman
。我们建议安装守望者,否则你可能会遇到节点文件查看错误。brew install flow
。如果要使用流量。android avd
)react-native run-android
在这个项目的根目录。恭喜!您刚刚成功将该项目作为iOS或Android应用程序运行。
没有任何额外的要求,因为你已经安装了deps npm install
。
npm run build
建设项目(至少第一次)npm run serve-web
在浏览器中使用webpack-dev-server 在http:// localhost:8000 / index.web.html或http:// localhost:8000 / webpack-dev-server / index.web.html上预览并启用热重新加载恭喜!您刚刚成功将该项目作为网站应用程序运行。
您可以使用NW或电子来运行项目。
要运行该项目,您应该运行如下:
/path/to/nw .
在OSX上,可执行文件位于.app文件中的隐藏目录中。安装它的更简单的解决方案是在http://nwjs.io/上下载应用程序,然后将其复制到您的应用程序文件夹。您现在可以运行:
/Applications/nwjs.app/Contents/MacOS/nwjs .
您还可以设置一个别名来调用二进制文件。
alias nw="/Applications/nwjs.app/Contents/MacOS/nwjs"
npm run build
建设项目(至少第一次)npm run serve-nw
启动桌面应用程序并启用livereload恭喜!您刚刚成功将该项目作为桌面应用程序运行。
npm run build
建设项目(至少第一次)npm run serve-electron
启动桌面应用程序并启用livereload本站资源仅限于学习研究,严禁从事商业或者非法活动! 源码搜藏网所有源码来自互联网转载与用户上传分享,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!
热门源码