问题说明: 需要自己开发一个ReactNative插件,这个插件在独立git仓库,那么怎么把这个插件安装到主项目的依赖里,并且方便对插件的修改调试

方案一:

把插件发布到npm仓库,每次主项目通过npm重新安装。太麻烦,对插件开发者来说简直90%无用功。

方案二:

把插件提交到git仓库,npm也支持git+ssh/http这种形式安装。比方案一好点,但还是太麻烦,尤其提交的仍然是未经验证的代码。

方案三:

用npm link,直接把插件的本地开发目录做成一个系统范围内的包,这样主项目npm install在解析package.json/dependencies时,发现这个包就会直接用前面建立的链接,

这样在本地开发目录的做的任何修改都会直接反映到主项目来,理论上这是最完美的办法。

但是!因为这个包会在node_modules下面以符号链接形式存在,又因为要做的是一个ReactNative插件,而ReactNative的打包器不认识符号链接!所以,这个办法行不通。

方案四:

最后的办法了,把插件git仓库做为主项目的一个submodule,放到libs/pluginA下面,然后以`yarn add file:libs/pluginA`的形式添加一个本地包,

但每次插件修改后,node_modules下面的包不会自动更新,需要再运行`yarn upgrade pluginA`来更新

最新文章

  1. AgularJS中Unknown provider: $routeProvider解决方案
  2. 【C语言学习笔记】存储类、链接和内存管理
  3. 修改Linux时间一般涉及到3个命令: date, clock, hwclock
  4. 2016最全的web前端面试题及答案整理
  5. Android Include标签
  6. css固定表格表头(各浏览器通用)
  7. 如何让U盘支持大于4G的文件
  8. ASP.NET NuGet to install the mvc 5.2.2
  9. SET ANSI_NULLS (Transact-SQL)
  10. mysql_报错1418
  11. QEMU KVM Libvirt手册(5) – snapshots
  12. java将long数据转为int类型的方法
  13. E: Sub-process /usr/bin/dpkg returned an error code
  14. WPS for Linux
  15. 设置IIS7/IIS7.5的FTP支持断点续传
  16. 【Apache】Apache服务的安装(一)
  17. spring配置上传文件大小
  18. haproxy-1.7.7 源码安装
  19. POJ_3368_Frequent values
  20. [PY3]——发送邮件

热门文章

  1. ehchache和redis
  2. 复制的web工程为什么不能部署到tomcat
  3. 2.1 一个简单的Web工程例子
  4. C#网络编程(接收文件) - Part.5
  5. 程序或-内存区域分配& ELF分析 ***
  6. 多线程使用信号量sem_init,sem_wait,sem_post
  7. Oracle 2套rac集群指向单机多实例的复制搭建
  8. js操作history
  9. JAVA,模拟HTTP登录(略有修改) ----转载自http://zhoujingxian.iteye.com/blog/439738
  10. Angular4中利用promise异步加载gojs