react-360 二次开发的一些心得
前面花了一些时间介绍 《React-360 源码阅读 - 一张图带你理解 React-360 结构》,有兴趣可以阅读下。但是 React-360 相对我们而言,目前也还不是足够稳定,以及有的需求点他们也并未实现,因此很有可能我们需要进行二次开发;
因此我们首先需要去他们 Github 上 fork 一份,
https://facebook.github.io/react-360/
我们 clone 到本地的时候,可以通过相对目录来实现我们项目对二次开发的 React-360 的引入了。
然后我们在本地项目里通过软连接来实现 node_module 的文件替换:
cd node_modules && rm -rf react-360-web
# 建立 react-360-web, 目录根据实际情况传入
ln -s ../../react-360/React360 react-360-web
初次之外,我们需要在 rn-cli.config.js
引入我们的文件,要不然会提示
unable to reoslve "react-360-web" in module map
大致这样的字样,
编辑 rn-cli.config.js
这样的字样
// rn-cli.config.js
...
function getRoots() {
var root = process.env.REACT_NATIVE_APP_ROOT;
if (root) {
return [path.resolve(root)];
}
return [path.resolve(__dirname), path.resolve('../react-360')];
}
这样你就可以看到使用自己的 react-360 的框架了。
还会有另外一个问题,就是如果你重新安装了,重启可能会遇见
unable to resolve three module in module map and in directories
记得这个时候在启动命令的时候我们需要添加 --reset-cache
node node_modules/react-native/local-cli/cli.js start --port 8081 --reset-cache
确保 自己 master 代码的高质量,因为你可以在 dev 上添加自己的业务代码,但是 master 代码最好确保每次 merge 可以提到官方的 PR 这样,也是对社区的一个反馈。