问题:
我的项目有一个@providesModule naming collision尝试从命令行运行react-native run-ios.它与自动生成的dir冲突,dist/后者是由另一个npm包esdoc创建的.我希望能够保留这个自动生成的目录,并让反应原生包装器忽略该dist/目录.
错误信息:
[01/23/2017, 13:17:07] <START> Building Haste Map
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: ann
Paths: /Users/thurt/projects/example/package.json collides with /Users/thurt/projects/example/dist/esdoc/package.json
This error is caused by a @providesModule declaration with the same name across two different files.
Error: @providesModule naming collision:
Duplicate module name: ann
Paths: /Users/thurt/projects/example/package.json collides with /Users/thurt/projects/example/dist/esdoc/package.json
This error is caused by a @providesModule declaration with the same name across two different …Run Code Online (Sandbox Code Playgroud) 我正在整理一个简化的开发过程,其中包含react和react-native:
它的网络部分非常好.这是导致问题的本地问题,它与反应原生的打包器有关.
底线是:如果包通过npm link或直接从游乐场链接,就像require('../../')反应本机的依赖解析器将永远尝试识别我的包内的依赖关系node_modules,大多数情况下它永远不会完成它.
我发现的临时解决方案是在操场上安装软件包,但这涉及每次更新时重新安装它,这不是很好,因为你无法立即看到你的更改(即使它是自动化的,这需要时间).
我相信更好的解决方案是让依赖解析器忽略那些我不需要的特定模块(devDependencies主要是那些!).我尝试通过向该列表添加路径来修改react-native/packager/blacklist.js,甚至对依赖项解析器进行检查,但这些都不起作用.
那些对打包者有更多经验的人能否给我一个提示,告诉我如何让依赖解析器通过?或者,如果包装商可以分开并且转换过程可以选择但是我不知道这是否可行,那将是很好的.