反应原生--preserve-symlinks支持?

时间:2018-02-17 00:26:59

标签: node.js reactjs react-native npm yarnpkg

问题

我正在为本机开发一个npm包,并希望将yarn link(或npm link)放入我的测试应用程序仓库进行测试。该程序包具有reactreact-native的对等依赖项。当我尝试运行测试项目时,收到一条错误消息:

Unable to resolve module `react` from `Users/username/Documents/module`

由于react对等依赖,因此它安装在测试项目中,而不是模块中。所以这是有道理的。但是做研究似乎--preserve-symlinks会通过搜索module测试项目node_modules文件夹的依赖关系来解决我的问题,而不是module&# 39; S。但据我所知,无法使用react-native start标志运行--preserve-symlinks

我尝试了以下两种变体:

$ react-native start --preserve-symlinks
$ react-native --preserve-symlinks start

但两人都收到了消息:

`error: unknown option `--preserve-symlinks'`

我做错了吗?有没有办法在某种情况下以某种方式全局启用--preserve-symlinks

代码

my-module' package.json

{
  "name": "my-module",
  "version": "0.1.0",
  "peerDependencies": {
    "react-native": "*",
    "react": "*"
  }
}

test-project' package.json

{
  "name": "my-module",
  "version": "0.1.0",
  "dependencies": {
    "react-native": "*",
    "react": "*",
    "my-module": "*"
  }
}

连接我跑的两个:

$ cd my-module
$ yarn link
$ cd ../test-project
$ yarn link my-module

更多调查

我发现将react添加到devDependencies的{​​{1}}可以解决错误,但有明显的警告,即会加载多个react副本。奇怪的是,my-module不会导致问题,并且似乎可以正常加载为react-native。但是,此解决方案不起作用,因为我使用的React的某些功能要求只有一个副本。

0 个答案:

没有答案